X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fdebug%2Flogstream.cxx;h=d906679e88ae1efa19194094ce6a146e539f0b6f;hb=2e71b64de1d937e2b7c34dd4a2365be455d0b82a;hp=8f6104a8d2780157b893948f69e4c8d1958c44be;hpb=d754e616a57e077388af62dfdc35e0e617bf5594;p=simgear.git diff --git a/simgear/debug/logstream.cxx b/simgear/debug/logstream.cxx index 8f6104a8..d906679e 100644 --- a/simgear/debug/logstream.cxx +++ b/simgear/debug/logstream.cxx @@ -34,6 +34,17 @@ sgDebugClass logbuf::logClass = SG_NONE; sgDebugPriority logbuf::logPriority = SG_INFO; streambuf* logbuf::sbuf = NULL; +namespace { +struct ignore_me +{ + ignore_me() + { + logstream::initGlobalLogstream(); + } +}; +static ignore_me im; +} + logbuf::logbuf() { // if ( sbuf == NULL ) @@ -92,10 +103,12 @@ logstream::setLogLevels( sgDebugClass c, sgDebugPriority p ) logbuf::set_log_level( c, p ); } -void +logstream * logstream::initGlobalLogstream() { // Force initialization of cerr. static std::ios_base::Init initializer; - global_logstream = new logstream(std::cerr); + if( !global_logstream ) + global_logstream = new logstream(std::cerr); + return global_logstream; }