loglog.h
Go to the documentation of this file.
// -*- C++ -*-
// Module: Log4CPLUS
// File: loglog.h
// Created: 6/2001
// Author: Tad E. Smith
//
//
// Copyright 2001-2017 Tad E. Smith
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef LOG4CPLUS_HELPERS_LOGLOG
#define LOG4CPLUS_HELPERS_LOGLOG
#include <log4cplus/config.hxx>
#if defined (LOG4CPLUS_HAVE_PRAGMA_ONCE)
#pragma once
#endif
#include <log4cplus/tstring.h>
#include <log4cplus/streams.h>
#include <log4cplus/thread/syncprims.h>
namespace log4cplus {
namespace helpers {
class LOG4CPLUS_EXPORT LogLog
{
public:
typedef LogLog * Ptr;
static Ptr getLogLog();
void setInternalDebugging(bool enabled);
void setQuietMode(bool quietMode);
void debug(const log4cplus::tstring& msg) const;
void debug(tchar const * msg) const;
void error(const log4cplus::tstring& msg, bool throw_flag = false) const;
void error(tchar const * msg, bool throw_flag = false) const;
void warn(const log4cplus::tstring& msg) const;
void warn(tchar const * msg) const;
// Public ctor and dtor to be used only by internal::DefaultContext.
LogLog();
virtual ~LogLog();
private:
enum TriState
{
TriUndef = -1,
TriFalse,
TriTrue
};
template <typename StringType>
LOG4CPLUS_PRIVATE
void logging_worker (tostream & os,
bool (LogLog:: * cond) () const, tchar const *,
StringType const &, bool throw_flag = false) const;
LOG4CPLUS_PRIVATE static void set_tristate_from_env (TriState *,
tchar const * envvar);
LOG4CPLUS_PRIVATE bool get_quiet_mode () const;
LOG4CPLUS_PRIVATE bool get_not_quiet_mode () const;
LOG4CPLUS_PRIVATE bool get_debug_mode () const;
// Data
mutable TriState debugEnabled;
mutable TriState quietMode;
thread::Mutex mutex;
LOG4CPLUS_PRIVATE LogLog(const LogLog&);
LOG4CPLUS_PRIVATE LogLog & operator = (LogLog const &);
};
LOG4CPLUS_EXPORT LogLog & getLogLog ();
} // end namespace helpers
} // end namespace log4cplus
#endif // LOG4CPLUS_HELPERS_LOGLOG
log4cplus::helpers::LogLog
This class used to output log statements from within the log4cplus package.
Definition loglog.h:55
log4cplus::helpers::LogLog::warn
void warn(tchar const *msg) const
log4cplus::helpers::LogLog::getLogLog
static Ptr getLogLog()
Returns a reference to the LogLog singleton.
log4cplus::helpers::LogLog::debug
void debug(const log4cplus::tstring &msg) const
This method is used to output log4cplus internal debug statements.
log4cplus::helpers::LogLog::error
void error(const log4cplus::tstring &msg, bool throw_flag=false) const
This method is used to output log4cplus internal error statements.
log4cplus::helpers::LogLog::setQuietMode
void setQuietMode(bool quietMode)
In quite mode no LogLog generates strictly no output, not even for errors.
log4cplus::helpers::LogLog::~LogLog
virtual ~LogLog()
log4cplus::helpers::LogLog::debug
void debug(tchar const *msg) const
log4cplus::helpers::LogLog::error
void error(tchar const *msg, bool throw_flag=false) const
log4cplus::helpers::LogLog::LogLog
LogLog()
log4cplus::helpers::LogLog::warn
void warn(const log4cplus::tstring &msg) const
This method is used to output log4cplus internal warning statements.
log4cplus::helpers::LogLog::Ptr
LogLog * Ptr
Return type of getLogLog().
Definition loglog.h:58
log4cplus::helpers::LogLog::setInternalDebugging
void setInternalDebugging(bool enabled)
Allows to enable/disable log4cplus internal logging.
log4cplus::thread::Mutex
Definition syncprims.h:83
config.hxx
LOG4CPLUS_PRIVATE
#define LOG4CPLUS_PRIVATE
Definition config.hxx:53
log4cplus::helpers
Definition appender.h:50
log4cplus::helpers::getLogLog
LOG4CPLUS_EXPORT LogLog & getLogLog()
log4cplus
Definition appender.h:46
log4cplus::tstring
std::basic_string< tchar > tstring
Definition tstring.h:39
log4cplus::tchar
char tchar
Definition tchar.h:56
log4cplus::tostream
std::basic_ostream< tchar > tostream
Definition streams.h:40
streams.h
syncprims.h
tstring.h
LOG4CPLUS_EXPORT
#define LOG4CPLUS_EXPORT
Definition win32.h:141