New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
server is outputting all of the 'info:' lines on STDERR #3040
Comments
I'd be glad to work on this to get my feet wet. |
@sturmer -- that'd be awesome! |
- Introduce "notice" log level - info and notice levels go on stdout, not on stderr - Label "info:" doesn't get printed on stdout (but does to log file)
Just proposed a pull request. Could anyone comment on it? |
- Introduce "notice" log level - info and notice levels go on stdout, not on stderr - Label "info:" doesn't get printed on stdout (but does to log file)
- Introduce "notice" log level - info and notice levels go on stdout, not on stderr - Label "info:" doesn't get printed on stdout (but does to log file)
There are a lot of things that the user should see on the console that wouldn't be considered notices according to the syslog criteria. For example, it's important that we print the server's ports to the console (for the convenience of people who are running the server interactively) but that's clearly "info" rather than "notice" according to the syslog criteria. I wonder if instead of splitting "info" into "info" and "notice" we should split it into "info (on console)" and "info (not on console)". It seems like that's the important distinction. |
@timmaxw I am not sure where wikipedia is coming up with the "General Description" column on their page, and does not describe how OS treat the "info" and "notice" levels. The actual RFC just has the information in the "Description" column, and the proposed usage maps nicely to that text: 'Notice: normal but significant condition' http://tools.ietf.org/html/rfc5424 Search for As an example, on MacOS "notice" messages go to the console (written into '/var/log/system.log'), but "info" level get dropped immediately upon being reported to asl unless they are explicitly saved by a non-standard rule (vs. debug which never make it out of the caller unless it is set specifically). Apple's explanation can be found on this page: Look for Using "info" and "notice" both follows more closely to what systems do in practice, but also allows us to easily map into a real logger when that gets put into place. Trying to split "info" in two is just going to add complexity later without really getting us any benefit. |
That sounds reasonable. |
Specifically, it seems like if we use "notice" to mean "things the user wants to see on the console", then this is compatible with RFC 5424's definition of "notice", even if not compatible with Wikipedia's description. |
- Introduce "notice" log level - info and notice levels go on stdout, not on stderr - Label "info:" doesn't get printed on stdout (but does to log file)
Promoted some of the worse situations' messages into WARNING, as per the discussion on rethinkdb#3040.
@larkost: Are you sure that connection messages should remain |
I am ambivalent about the level on inter-cluster connection messages. I see their importance in some troubleshooting, and so would not object to them still being |
I'm not talking about troubleshooting. I'm imagining a complete novice, who downloads RethinkDB for the first time and starts up two instances and tells them to connect to each other, and she isn't sure if it worked properly. I think the connection messages are very useful for reassuring that sort of novice user that their RethinkDB instances found each other. The way I see it, the way to decide if something should be |
- Introduce "notice" log level - info and notice levels go on stdout, not on stderr - Label "info:" doesn't get printed on stdout (but does to log file)
Promoted some of the worse situations' messages into WARNING, as per the discussion on rethinkdb#3040.
Promoted some of the worse situations' messages into WARNING, as per the discussion on rethinkdb#3040.
When the server is starting up all of the
info:
lines are currently going to STDERR rather than STDOUT. In normal operation we don't have anything on STDOUT at all. I talked to @gchpaco and @mlucy about this, and we are in agreement about the following:info
lines should be printed to STDOUT.warn
and above should stay on STDERR.info:
text. Thelog_file
should keep the designation.info
level should probably be split intoinfo
andnotice
levels (consistent with syslog) with things like semilattice change and cluster connection messages remaining in the lowerinfo
level while important notices like the connection ports getting bumped tonotice
.info
level messages should not (by default) go to STDOUT. They should still be in thelog_file
, and if desired we can add a--verbose
flag to output these.notice
would go out on STDOUT.The goal would be to have a normal server startup output nothing to STDERR (because there were no errors/warnings).
The text was updated successfully, but these errors were encountered: