18 ms·
> I'm always surprised by how many developers don't grok <things> despite understanding significantly more complex things. You used git as a (counter?) example
by michaelcampbell 3y ago
> I'm always surprised by how many developers don't grok <things> despite understanding significantly more complex things.
You used git as a (counter?) example, but for me systemd has this issue because it's because I touch it so infrequently that whatever I learned about it has aged out of mental cache.
I have the same issue with `jq`, GNU `parallel`, and `ffmpeg` (which I'll grant even if I used it daily I probably wouldn't be able to keep up.
> UX of using journalctl and systemctl is so bad (for me)
Not JUST you. I've heard all the arguments 100x for "binary logs good/bad", but I feel this was a step down for some puritanical idea that doesn't translate for many to practicality.
- dingnuts 3y agohow on earth is remembering the location of some log file, buried in /var/log somewhere, hopefully, or maybe next to the application in /etc/ or /opt/, easier than remembering journalctl -u unitfilename ? or journalctl -u unitfilename -f to follow the logs -- the very same flag tail uses? after a decade of systemd usage I've never once had to actually think about the format the logs are stored in, or where they're stored; journalctl is actually easier than using tail and cat
- enriquto 3y ago> how on earth is remembering the location of some log file, buried in /var/log somewhere, hopefully, or maybe next to the application in /etc/ or /opt/, easier than remembering journalctl -u unitfilename ? This may seem obvious to you, but I for one find filenames much easier to remember. Of course the logs are inside /var/log (and not anywhere else). Moreover, with filenames, you can check your logs with a program that is independent of the program that produces it. Why implement the -f option on other programs when it is already implemented in tail?
- dingnuts 3y agoThat's the thing though, you have to remember filenames. I don't have to remember anything, just journalctl, because it can be run without any arguments and get logs for -everything that's running- including units I totally forgot about! More than once I've forgotten the name of some unit I wrote -- the same as I easily forget filenames for random services I've installed, and where I might have installed them. I can discover the service name by calling systemctl status, or I can just call journalctl with no arguments and pass directly to grep to find what I need, in whatever unit it's in. Try that when you have log files scattered all around your filesystem.
- lvass 3y agoI concede it's as easy if you're just reading one log from one machine, but what if you're harvesting and/or merging multiple logs from multiple machines? It's much easier to do with simple unix tools and plaintext logs.
- michaelcampbell 3y ago> you have to remember filenames. You have to remember unit names. They're all just names.
- ecnahc515 3y agoNot really, there’s systemctl list-units.
- michaelcampbell 3y agoJust like `ls`, or even `ls *.log`. As I've been trying to allude to, 90% of this is familiarity, not some objective "better".
- pdimitar 3y agoNo it's not just like it because not all log files live in /var/log so you have to remember to check several locations. systemd is centralized.
- michaelcampbell 3y ago> after a decade of systemd usage I've never once had to actually think about the format the logs are stored in, or where they're stored; journalctl is actually easier than using tail and cat That's wonderful for you. For me, it is not. Funny how people are different.
- pdimitar 3y agoThis is not a people problem, it's a technical problem.