X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fdebug%2Flogstream.cxx;h=d906679e88ae1efa19194094ce6a146e539f0b6f;hb=2e71b64de1d937e2b7c34dd4a2365be455d0b82a;hp=c47d4c8b35a2d050d50ebdf94f1c972deb81b26c;hpb=b2a4cd488dfcfbf1d02fa41f2dfa5ad39aabb13a;p=simgear.git diff --git a/simgear/debug/logstream.cxx b/simgear/debug/logstream.cxx index c47d4c8b..d906679e 100644 --- a/simgear/debug/logstream.cxx +++ b/simgear/debug/logstream.cxx @@ -14,22 +14,37 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Library General Public License for more details. // -// You should have received a copy of the GNU Library General Public -// License along with this library; if not, write to the -// Free Software Foundation, Inc., 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // $Id$ +#include + #include "logstream.hxx" -logstream *global_logstream = NULL; +logstream *logstream::global_logstream = 0; bool logbuf::logging_enabled = true; +#ifdef _MSC_VER + bool logbuf::has_console = true; +#endif 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 ) @@ -88,3 +103,12 @@ logstream::setLogLevels( sgDebugClass c, sgDebugPriority p ) logbuf::set_log_level( c, p ); } +logstream * +logstream::initGlobalLogstream() +{ + // Force initialization of cerr. + static std::ios_base::Init initializer; + if( !global_logstream ) + global_logstream = new logstream(std::cerr); + return global_logstream; +}