00001 // Module: Log4CPLUS 00002 // File: loglog.h 00003 // Created: 6/2001 00004 // Author: Tad E. Smith 00005 // 00006 // 00007 // Copyright 2001-2009 Tad E. Smith 00008 // 00009 // Licensed under the Apache License, Version 2.0 (the "License"); 00010 // you may not use this file except in compliance with the License. 00011 // You may obtain a copy of the License at 00012 // 00013 // http://www.apache.org/licenses/LICENSE-2.0 00014 // 00015 // Unless required by applicable law or agreed to in writing, software 00016 // distributed under the License is distributed on an "AS IS" BASIS, 00017 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00018 // See the License for the specific language governing permissions and 00019 // limitations under the License. 00020 00023 #ifndef _LOG4CPLUS_HELPERS_LOGLOG 00024 #define _LOG4CPLUS_HELPERS_LOGLOG 00025 00026 #include "dcmtk/oflog/config.h" 00027 #include "dcmtk/oflog/tstring.h" 00028 #include "dcmtk/oflog/helpers/pointer.h" 00029 #include "dcmtk/oflog/helpers/threads.h" 00030 00031 00032 namespace log4cplus { 00033 namespace helpers { 00034 00048 class LOG4CPLUS_EXPORT LogLog 00049 : public virtual log4cplus::helpers::SharedObject 00050 { 00051 public: 00052 // Static methods 00056 static log4cplus::helpers::SharedObjectPtr<LogLog> getLogLog(); 00057 00058 00062 void setInternalDebugging(bool enabled); 00063 00070 void setQuietMode(bool quietMode); 00071 00076 void debug(const log4cplus::tstring& msg); 00077 00083 void error(const log4cplus::tstring& msg); 00084 00090 void warn(const log4cplus::tstring& msg); 00091 00092 // Dtor 00093 virtual ~LogLog(); 00094 00095 // Data 00096 LOG4CPLUS_MUTEX_PTR_DECLARE mutex; 00097 00098 private: 00099 // Data 00100 bool debugEnabled; 00101 bool quietMode; 00102 00103 // Ctors 00104 LogLog(); 00105 LogLog(const LogLog&); 00106 }; 00107 00108 } // end namespace helpers 00109 } // end namespace log4cplus 00110 00111 00112 #endif // _LOG4CPLUS_HELPERS_LOGLOG 00113