Re:"Rules" that terminal programs follow
by packetlost on Thursday December 12, 2024 @03:55PM
(#42403230)
The idea for info is that it's informational, which is always the case regardless of whether it's printing error messages due to a failure or informational messages because the user specified a `-v` flag or whatever. Whether the command failed or not is communicated via the exit code. That being said, I do prefer stdlog for the reasons: it communicates the intent and usage as unambiguously and tersely as possible.
Re:"Rules" that terminal programs follow
by matheusmoreira on Thursday December 12, 2024 @04:11PM
(#42403376)
> because the user specified a `-v` flag or whatever
The way I see it is the version information and help text belong on standard output if the user passes --version and --help since that's what the user explicitly asked for. When the command is invoked incorrectly, the help text should go to standard error while standard output should be empty.
I agree about the exit code. People like to parse error messages and that's always wrong. Everything should be done via exit codes instead.
Re:"Rules" that terminal programs follow
by packetlost on Thursday December 12, 2024 @04:56PM
(#42403826)
The `-v` was in reference to the common convention of one or more `v` flags increasing the verbosity of logging.
I really like stdlog. Standard log stream is a pretty awesome name. Short and terse, the word "log" doesn't even need abbreviation and it's correct since it's a superset of error and info streams and also generic enough to cover other unforeseen categories.
I'll use it from now on!