Background
I am currently running a dual-boot system with Windows and NixOS ... The NixOS part however, keeps on getting a kernel panic every other minute and diagnosing it until now is the hell at best.
Actual Rant
Logs are nice. They are the effective go-to choice for pretty much any tool that emits some behavior that might or might not be either complex (what happened logs), error prune (whats the cause log) or simply tell you who connected and who did not.
With this settled, lets decide who logs are for? Well, logs are for you, the stupid human, who does not understand what your PC, your Tool or whatever is doing. All fine and gold still here.
But what human scum, what 20/10 idiot, what duchebag decided to make logs a binary format and that only, forcing literally everybody to use that frking "format" that everybody settled ages ago: TEXT
No, lets make everything complicated to read by telling everyone how "easy" and "nice" it now is ...
1. Making something binary is not making it simpler
That is simply a fact. If i present you a huffman encoded version of moby dick with a fancy command line tool to read it from, you would be pretty disappointed right? But if i gave you a txt file with literally THE SAME contents, that you can open on ANY OS using ANY FUCKING TEXT EDITOR, you would be quite fine right?
So why then even CHANGE the fucking thing in the first place?
To get extra info into it? Use XML. Human-Readable and, this probably will blow your mind, you can add extra info to every method.
Was the idea to preserve error codes? News everyone: { "[ERROR]", "[INFO]", "[IDIOT]" }
is something one can write in any text file. Bonus points: If well-formed, this is even a valid way to add extra info, so XML not even needs to be chosen either.
To just be different? Well done, that is one cookie you get. You are different to the annoiance.
2. Using the one tool to rule them all is a horrible decision
Lets assume, i only have a broken linux installation at hand, the default LIVE-CD one gets from the interwebs is also borked to hell and crashes immediatly. Now you wanna know what component causes the crash. You only have your handy-dandy android phone at hands and export the whole error logs to it. Now what will you see? GARBAGE is what you will see. An utterly useless binarized format just for the sake of having one
3. The solution to keeping the tool
I know, the following will be hard to swallow for anybody ... but parsing text files is trivial. It takes longer then reading binary formats, yes, but you are not reading the logs for the lulz on a regular basis. You read them because something happened and you want to diagnose it. So lets say, we want to keep the tool that is journalctl
but without the idiotic binary file required for it. How would we go onto this?
Simple: Instead of reading the fucking binary format, READ A TEXT FORMAT. It is AS trivial, and has the added benefit of one being able to read it outside of that ugly command line crap. It is readable on ANY OS with ANY text editor and so on. And IF one wants to still filter stuff out, it can be done the same way as before. Sounds crazy, i know. But guess what: IT WORKS.
Epilog
So ... how to progress from here? Chances are, you are at the same point where you are, being angry at that human trash who came up with the idea (before somebody reaches out to me about how good of a person he/she/the group and what intention they had, i did not read into it and come 100% from an angry users experience in diagnosing failure of his fucking system) to binarize that shit.
The only solution is to choke the pill, somehow get a full export into a text file, which is horrible formatted thanks to the "optimized output" (ohh and before you even attempt it: journalctl > my_readbale_log.txt
will not work because probably the same idiots thought "why make it easy to export it to txt. It should be hard to read the log in a users-pleasing way" and don't trust those idiots in the web saying "ohh do it anyways because it should work" ... it does not, believe me, i literally used journalctl -b -1 > ~/journal.log
and, surprise surprise, i got an empty log file with the fancy size of 0bytes)
So good luck on diagnosing your system with journalctl. You might even be able to use regex, in your head, to solve all your problems at a glance. I personally will just wipe the Linux partition and avoid any Linux running systemd like it offered me a free buttfuck with a horsecock. Prooves once again, why i still stick to windows ... Gaming works perfectly fine and literally everything else too. And once i have a problem, i just wipe the whole system and be done with it. Linux? Nowadays: Have a kernel panic, not even get logs because kernel panic reasons are not displayed per default anymore (can still remember those fancy days where i got that sweet message of "ohh yeah ... the USB driver for XY crashed unexpected" thanks to some broken device i had attached to it, allowing me to (and stick with me here again) DIAGNOSE the reason easily. It was a blessing and not that mess like with windows where i had to google after the reason and dig in system logs), after enabling them not being able to find them (thanks to some weird configuration quirks that are not set up correctly, as just enabling coredumps is no longer enough), reading through the logs to find the cause not being possible (hey, windows bluescreens are nowadays easier to debug then linux ones) and the internet being full of uninformative "ohh this app crashes" when you try to get anything related to "kernel panic", "system crash" or whatever.
So long story short: Stay away from linux. It is a horrible experience nowadays, unless you have a setup that already works ... and it is a shame that it changed to this mess it is nowadays.