// Module: Log4CPLUS // File: loglog.cxx // Created: 6/2001 // Author: Tad E. Smith // // // Copyright (C) Tad E. Smith All rights reserved. // // This software is published under the terms of the Apache Software // License version 1.1, a copy of which has been included with this // distribution in the LICENSE.APL file. // // $Log: loglog.cxx,v $ // Revision 1.7 2003/06/29 16:39:53 tcsmith // Moved the getLogLog() method into the LogLog class. // // Revision 1.6 2003/05/04 00:29:00 tcsmith // Removed the static initializer class. // // Revision 1.5 2003/04/18 21:15:17 tcsmith // Converted from std::string to log4cplus::tstring. // // Revision 1.4 2003/04/12 13:51:08 tcsmith // No longer dynamically allocate the object in the "singleton" method. // // Revision 1.3 2003/04/03 01:02:02 tcsmith // Standardized the formatting. // #include #include using namespace std; using namespace log4cplus; using namespace log4cplus::helpers; /////////////////////////////////////////////////////////////////////////////// // static methods /////////////////////////////////////////////////////////////////////////////// SharedObjectPtr LogLog::getLogLog() { static SharedObjectPtr singleton(new LogLog()); return singleton; } /////////////////////////////////////////////////////////////////////////////// // log4cplus::helpers::LogLog ctor and dtor /////////////////////////////////////////////////////////////////////////////// LogLog::LogLog() : mutex(LOG4CPLUS_MUTEX_CREATE), debugEnabled(false), quietMode(false), PREFIX( LOG4CPLUS_TEXT("log4cplus: ") ), WARN_PREFIX( LOG4CPLUS_TEXT("log4cplus:WARN ") ), ERR_PREFIX( LOG4CPLUS_TEXT("log4cplus:ERROR ") ) { } LogLog::~LogLog() { LOG4CPLUS_MUTEX_FREE( mutex ); } /////////////////////////////////////////////////////////////////////////////// // log4cplus::helpers::LogLog public methods /////////////////////////////////////////////////////////////////////////////// void LogLog::setInternalDebugging(bool enabled) { debugEnabled = enabled; } void LogLog::setQuietMode(bool quietModeVal) { quietMode = quietModeVal; } void LogLog::debug(const log4cplus::tstring& msg) { LOG4CPLUS_BEGIN_SYNCHRONIZE_ON_MUTEX( mutex ) if(debugEnabled && !quietMode) { tcout << PREFIX << msg << endl; } LOG4CPLUS_END_SYNCHRONIZE_ON_MUTEX } void LogLog::warn(const log4cplus::tstring& msg) { LOG4CPLUS_BEGIN_SYNCHRONIZE_ON_MUTEX( mutex ) if(quietMode) return; tcerr << WARN_PREFIX << msg << endl; LOG4CPLUS_END_SYNCHRONIZE_ON_MUTEX } void LogLog::error(const log4cplus::tstring& msg) { LOG4CPLUS_BEGIN_SYNCHRONIZE_ON_MUTEX( mutex ) if(quietMode) return; tcerr << ERR_PREFIX << msg << endl; LOG4CPLUS_END_SYNCHRONIZE_ON_MUTEX }