[ 
https://issues.apache.org/jira/browse/MESOS-7586?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16152627#comment-16152627
 ] 

Alexander Rukletsov commented on MESOS-7586:
--------------------------------------------

{noformat}
Commit: 40aa0d9f77ccd3264ea9e84dc5e3e49d601168b9 [40aa0d9]
Author: Armand Grillet <[email protected]>
Date: 4 September 2017 at 15:45:04 GMT+2
Committer: Alexander Rukletsov <[email protected]>

Improved consistency of cout/cerr and glog usage in main functions.

The main functions now have a common initialization pattern:
  1. Load flags.
  2. Check if the --help flag has been passed.
  3. Check if the flags are correct.
  4. Initialize logging.
  5. Parse and setup the environment variables.
  6. Initialize libprocess.

This change reduces the number of messages "WARNING: Logging before
InitGoogleLogging() is written to STDERR" as we now use glog only after
the fourth step. This forces all glog messages to end up in a logdir.

Review: https://reviews.apache.org/r/61849/
{noformat}

> 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
>            Assignee: Armand Grillet
>            Priority: Minor
>              Labels: debugging, log, newbie
>
> Some parts of mesos use glog before initialization of glog, hence messages 
> via glog might not end up in a logdir:
> bq. WARNING: Logging before InitGoogleLogging() is written to STDERR
> The solution might be:
> {{cout/cerr}} should be used before logging initialization.
> {{glog}} should be used after logging initialization.
>  
> Usually, main function has initialization pattern like:
> # load = flags.load(argc, argv) // Load flags from command line.
> # Check if flags are correct, otherwise print error message to cerr and then 
> exit.
> # Check if user passed --help flag to print help message to cout and then 
> exit.
> # Parsing and setup of environment variables. If this fails, EXIT macro is 
> used to print error message via glog.
> # process::initialize()
> # logging::initialize()
>  
> Steps 2 and 3 should use {{cout/cerr}} to eliminate any extra information 
> generated by glog like current time, date and log level.
> It would be preferable to move step 6 between steps 3 and 4 safely, because 
> {{logging::initialize()}} doesn’t depend on {{process::initialize()}}.
> In addition, initialization of glog should be added, where it's necessary.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to