You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Andrei Budnik (JIRA)" <ji...@apache.org> on 2017/05/30 12:49:04 UTC

[jira] [Created] (MESOS-7586) Make use of cout/cerr and glog consistent.

Andrei Budnik created MESOS-7586:
------------------------------------

             Summary: Make use of cout/cerr and glog consistent.
                 Key: MESOS-7586
                 URL: https://issues.apache.org/jira/browse/MESOS-7586
             Project: Mesos
          Issue Type: Bug
            Reporter: Andrei Budnik
            Priority: Minor


Some parts of mesos use glog before initialization of glog. This leads to message like:
“WARNING: Logging before InitGoogleLogging() is written to STDERR”
Also, messages via glog before logging is initialized might not end up in a logdir.
 
The solution might be:
cout/cerr should be used before logging initialization.
glog should be used after logging initialization.
 
Usually, main function has pattern like:
1. load = flags.load(argc, argv) // Load flags from command line.
2. Check if flags are correct, otherwise print error message to cerr and then exit.
3. Check if user passed --help flag to print help message to cout and then exit.
4. Parsing and setup of environment variables. If this fails, EXIT macro is used to print error message via glog.
5. process::initialize()
6. logging::initialize()
7. ...
 
Steps 2 and 3 should use cout/cerr to eliminate any extra information generated by glog like current time, date and log level.
It is possible to move step 6 between steps 3 and 4 safely, because logging::initialize() doesn’t depend on process::initialize().
Some parts of mesos don’t call logging::initialize(). This should also be fixed.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)