Apache Log4cxx  Version 1.3.1
Loading...
Searching...
No Matches
loglog.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef _LOG4CXX_HELPERS_LOG_LOG_H
19#define _LOG4CXX_HELPERS_LOG_LOG_H
20
21#include <log4cxx/logstring.h>
23#include <exception>
24#include <mutex>
25
26namespace LOG4CXX_NS
27{
28namespace helpers
29{
41class LOG4CXX_EXPORT LogLog
42{
43 private:
44 LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(LogLogPrivate, m_priv)
45
46 friend WideLife<LogLog>;
47 LogLog();
48 LogLog(const LogLog&);
49 LogLog& operator=(const LogLog&);
50 static LogLog& getInstance();
51
52 public:
54
58 static bool isDebugEnabled();
59
63 static void setInternalDebugging(bool enabled);
64
68 static void debug(const LogString& msg);
72 static void debug(const LogString& msg, const std::exception& e);
73
74
78 static void error(const LogString& msg);
82 static void error(const LogString& msg, const std::exception& ex);
83
84
93 static void setQuietMode(bool newValue);
94
98 static void warn(const LogString& msg);
102 static void warn(const LogString& msg, const std::exception& ex);
103
104 private:
105 static void emit(const LogString& msg);
106 static void emit(const std::exception& ex);
107};
108} // namespace helpers
109} // namespace log4cxx
110
111#define LOGLOG_DEBUG(log) { \
112 if (LogLog::isDebugEnabled()) \
113 LOG4CXX_NS::helpers::LogLog::debug(log) ; }
114
115#define LOGLOG_WARN(log) { \
116 LOG4CXX_NS::helpers::LogLog::warn(log) ; }
117
118#define LOGLOG_ERROR(log) { \
119 LOG4CXX_NS::helpers::LogLog::warn(log); }
120
121#endif //_LOG4CXX_HELPERS_LOG_LOG_H
This class used to output log statements from within the log4cxx package.
Definition: loglog.h:42
static void error(const LogString &msg)
Output msg to SystemErrWriter unconditionally.
static void debug(const LogString &msg, const std::exception &e)
Output msg and ex.what() to SystemErrWriter if internal debug logging is enabled.
static void error(const LogString &msg, const std::exception &ex)
Output msg and ex.what() to SystemErrWriter unconditionally.
static void setInternalDebugging(bool enabled)
Use the value of enabled as the new internal debug logging state.
static void warn(const LogString &msg, const std::exception &ex)
Output msg and ex.what() to SystemErrWriter unconditionally.
static bool isDebugEnabled()
Is internal debugging enabled?
static void warn(const LogString &msg)
Output msg to SystemErrWriter unconditionally.
static void debug(const LogString &msg)
Output msg to SystemErrWriter if internal debug logging is enabled.
static void setQuietMode(bool newValue)
Change quiet mode to newValue.
The WideLife wrapper is destined to prolongate the runtime logger state lifetime from static duration...
Definition: widelife.h:37
std::basic_string< logchar > LogString
Definition: logstring.h:60