Re:"Rules" that terminal programs follow
by packetlost on Thursday December 12, 2024 @02:48PM
(#42402663)
I would maybe call it stdlog or stdinfo vs stderr, but yeah naming things is hard.
[ Parent
| on HN ]
Re:"Rules" that terminal programs follow
by ryandrake on Thursday December 12, 2024 @03:33PM
(#42403066)
C++ has std::clog[1], but it's basically cerr, and the OS still only knows about stdin, stdout, and stderr.
Re:"Rules" that terminal programs follow
by matheusmoreira on Thursday December 12, 2024 @02:52PM
(#42402709)
I think stdinfo would exclude error messages from the definition, just like stderr excludes info messages.
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!
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.