MantisBT - Doomseeker |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0003372 | Doomseeker | [All Projects] Bug | public | 2018-02-15 02:05 | 2018-10-27 22:55 |
|
Reporter | Zalewa | |
Assigned To | Zalewa | |
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | |
Platform | | OS | | OS Version | |
Product Version | 1.1 | |
Target Version | 1.2 | Fixed in Version | 1.2 | |
|
Summary | 0003372: Diagnostics messages are written to stdout (instead of stderr) |
Description | Doomseeker's startup logs (etc) are like diagnostics messages, but treated as normal output from the program. This goes against POSIX' description of stderr:
Quote At program start-up, three streams shall be predefined: [...] standard output (for writing conventional output), and standard error (for writing diagnostic output).
stdout makes sense for --version-json as conventional JSON output, but the diagnostics messages should really be changed from stdout to stderr. |
Steps To Reproduce | On Unix-like machines:
doomseeker 1>/tmp/stdout.log 2>/tmp/stderr.log
See /tmp/stdout.log and /tmp/stderr.log for messages of the appropriate standard stream. |
Additional Information |
- http://pubs.opengroup.org/onlinepubs/9699919799/functions/stderr.html
- https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html
- https://unix.stackexchange.com/q/331611/
|
Tags | No tags attached. |
Relationships | related to | 0003282 | closed | Zalewa | Omitting file from --version-json command line parameter doesn't print to standard output |
|
Attached Files | |
|
Issue History |
Date Modified | Username | Field | Change |
2018-02-15 02:05 | WubTheCaptain | New Issue | |
2018-02-15 02:05 | WubTheCaptain | Status | new => assigned |
2018-02-15 02:05 | WubTheCaptain | Assigned To | => Zalewa |
2018-02-15 02:06 | WubTheCaptain | Relationship added | related to 0003282 |
2018-02-15 02:06 | WubTheCaptain | Reporter | WubTheCaptain => Zalewa |
2018-02-15 02:06 | WubTheCaptain | Status | assigned => resolved |
2018-02-15 02:06 | WubTheCaptain | Resolution | open => fixed |
2018-02-15 02:06 | WubTheCaptain | Fixed in Version | => 1.2 |
2018-02-15 02:08 | WubTheCaptain | Note Added: 0019042 | |
2018-02-15 02:21 | WubTheCaptain | Note Added: 0019043 | |
2018-02-15 02:21 | WubTheCaptain | Status | resolved => feedback |
2018-02-15 02:21 | WubTheCaptain | Resolution | fixed => reopened |
2018-02-15 02:23 | WubTheCaptain | Summary | Logs are written to stdout instead of stderr => Diagnostics logs are written to stdout (instead of stderr) |
2018-02-15 02:27 | WubTheCaptain | Summary | Diagnostics logs are written to stdout (instead of stderr) => Diagnostics messages are written to stdout (instead of stderr) |
2018-02-15 02:30 | WubTheCaptain | Note Added: 0019044 | |
2018-02-15 03:20 | WubTheCaptain | Note Edited: 0019043 | bug_revision_view_page.php?bugnote_id=19043#r11395 |
2018-02-15 07:37 | Zalewa | Note Added: 0019050 | |
2018-02-15 07:37 | Zalewa | Status | feedback => assigned |
2018-02-15 08:41 | Zalewa | Note Added: 0019051 | |
2018-02-15 08:41 | Zalewa | Status | assigned => needs testing |
2018-09-25 03:11 | WubTheCaptain | Note Added: 0019748 | |
2018-09-25 03:11 | WubTheCaptain | Status | needs testing => resolved |
2018-09-25 03:11 | WubTheCaptain | Resolution | reopened => fixed |
2018-09-25 03:12 | WubTheCaptain | Note Edited: 0019748 | bug_revision_view_page.php?bugnote_id=19748#r11997 |
2018-10-27 22:55 | WubTheCaptain | Status | resolved => closed |
Notes |
|
|
|
|
(0019043)
|
WubTheCaptain
|
2018-02-15 02:21
(edited on: 2018-02-15 03:20) |
|
Interestingly enough, I would like to reopen this issue for more discussion.
One of the answers in the linked Unix & Linux Stack Exchange thread argues whether POSIX-like programs should be quiet by default (that's an Unix-y thing to do), and only output to stderr if the exit status was non-zero. To quote:
Quote from POSIX.1-2008, 1.4 Utility Description Defaults Default Behavior: When this section is listed as "The standard error shall be used only for diagnostic messages.", it means that, unless otherwise stated, the diagnostic messages shall be sent to the standard error only when the exit status indicates that an error occurred and the utility is used as described by this volume of POSIX.1-2008.
Do we need to introduce a command line flag for --quiet or --verbose? I'd keep them to stderr, though.
|
|
|
|
Quote from WubTheCaptain I'd keep them to stderr, though.
Haha disregard that, stdout probably makes more sense with a --verbose (or -v) flag with quiet by default behavior. Anyone agree?
stderr for real diagnostics errors, though. |
|
|
(0019050)
|
Zalewa
|
2018-02-15 07:37
|
|
--version-json could indeed benefit from not being spammed with stderr logs by default |
|
|
(0019051)
|
Zalewa
|
2018-02-15 08:41
|
|
|
|
(0019748)
|
WubTheCaptain
|
2018-09-25 03:11
(edited on: 2018-09-25 03:12) |
|
As said, this has been resolved.
Side-note: It seems like --verbose is useless at this point and --quiet works as intended. The output isn't quiet by default (except on stdout), but uh, we don't do much with stdout anyway. It's not like Doomseeker had stdout of its server lists in some specific format for other applications to use.
|
|