Skip to content

Commit

Permalink
Replace defaultLogger by a static method getDefaultLogger()
Browse files Browse the repository at this point in the history
  • Loading branch information
Hsin-Fang Chiang committed Jul 19, 2016
1 parent ed48b12 commit b5a32a7
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 42 deletions.
64 changes: 32 additions & 32 deletions include/lsst/log/Log.h
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@
* @return Bool indicating whether or not logger is enabled.
*/
#define LOG_CHECK_TRACE() \
LOG4CXX_UNLIKELY(lsst::log::Log::defaultLogger.isTraceEnabled())
LOG4CXX_UNLIKELY(lsst::log::Log::getDefaultLogger().isTraceEnabled())

/**
* @def LOG_CHECK_DEBUG()
Expand All @@ -199,7 +199,7 @@
* @return Bool indicating whether or not logger is enabled.
*/
#define LOG_CHECK_DEBUG() \
LOG4CXX_UNLIKELY(lsst::log::Log::defaultLogger.isDebugEnabled())
LOG4CXX_UNLIKELY(lsst::log::Log::getDefaultLogger().isDebugEnabled())

/**
* @def LOG_CHECK_INFO()
Expand All @@ -208,7 +208,7 @@
* @return Bool indicating whether or not logger is enabled.
*/
#define LOG_CHECK_INFO() \
lsst::log::Log::defaultLogger.isInfoEnabled()
lsst::log::Log::getDefaultLogger().isInfoEnabled()

/**
* @def LOG_CHECK_WARN()
Expand All @@ -217,7 +217,7 @@
* @return Bool indicating whether or not logger is enabled.
*/
#define LOG_CHECK_WARN() \
lsst::log::Log::defaultLogger.isWarnEnabled()
lsst::log::Log::getDefaultLogger().isWarnEnabled()

/**
* @def LOG_CHECK_ERROR()
Expand All @@ -226,7 +226,7 @@
* @return Bool indicating whether or not logger is enabled.
*/
#define LOG_CHECK_ERROR() \
lsst::log::Log::defaultLogger.isErrorEnabled()
lsst::log::Log::getDefaultLogger().isErrorEnabled()

/**
* @def LOG_CHECK_FATAL()
Expand All @@ -235,7 +235,7 @@
* @return Bool indicating whether or not logger is enabled.
*/
#define LOG_CHECK_FATAL() \
lsst::log::Log::defaultLogger.isFatalEnabled()
lsst::log::Log::getDefaultLogger().isFatalEnabled()

/**
* @def LOG(logger, level, message...)
Expand All @@ -262,8 +262,8 @@
* one, or more comma-separated arguments.
*/
#define LOG_TRACE(message...) \
do { if (LOG4CXX_UNLIKELY(lsst::log::Log::defaultLogger.isTraceEnabled())) { \
lsst::log::Log::defaultLogger.log( \
do { if (LOG4CXX_UNLIKELY(lsst::log::Log::getDefaultLogger().isTraceEnabled())) { \
lsst::log::Log::getDefaultLogger().log( \
log4cxx::Level::getTrace(), LOG4CXX_LOCATION, message); } \
} while (false)

Expand All @@ -276,8 +276,8 @@
* one, or more comma-separated arguments.
*/
#define LOG_DEBUG(message...) \
do { if (LOG4CXX_UNLIKELY(lsst::log::Log::defaultLogger.isDebugEnabled())) { \
lsst::log::Log::defaultLogger.log( \
do { if (LOG4CXX_UNLIKELY(lsst::log::Log::getDefaultLogger().isDebugEnabled())) { \
lsst::log::Log::getDefaultLogger().log( \
log4cxx::Level::getDebug(), LOG4CXX_LOCATION, message); } \
} while (false)

Expand All @@ -290,8 +290,8 @@
* one, or more comma-separated arguments.
*/
#define LOG_INFO(message...) \
do { if (lsst::log::Log::defaultLogger.isInfoEnabled()) { \
lsst::log::Log::defaultLogger.log( \
do { if (lsst::log::Log::getDefaultLogger().isInfoEnabled()) { \
lsst::log::Log::getDefaultLogger().log( \
log4cxx::Level::getInfo(), LOG4CXX_LOCATION, message); } \
} while (false)

Expand All @@ -304,8 +304,8 @@
* one, or more comma-separated arguments.
*/
#define LOG_WARN(message...) \
do { if (lsst::log::Log::defaultLogger.isWarnEnabled()) { \
lsst::log::Log::defaultLogger.log( \
do { if (lsst::log::Log::getDefaultLogger().isWarnEnabled()) { \
lsst::log::Log::getDefaultLogger().log( \
log4cxx::Level::getWarn(), LOG4CXX_LOCATION, message); } \
} while (false)

Expand All @@ -318,8 +318,8 @@
* one, or more comma-separated arguments.
*/
#define LOG_ERROR(message...) \
do { if (lsst::log::Log::defaultLogger.isErrorEnabled()) { \
lsst::log::Log::defaultLogger.log( \
do { if (lsst::log::Log::getDefaultLogger().isErrorEnabled()) { \
lsst::log::Log::getDefaultLogger().log( \
log4cxx::Level::getError(), LOG4CXX_LOCATION, message); } \
} while (false)

Expand All @@ -332,8 +332,8 @@
* one, or more comma-separated arguments.
*/
#define LOG_FATAL(message...) \
do { if (lsst::log::Log::defaultLogger.isFatalEnabled()) { \
lsst::log::Log::defaultLogger.log( \
do { if (lsst::log::Log::getDefaultLogger().isFatalEnabled()) { \
lsst::log::Log::getDefaultLogger().log( \
log4cxx::Level::getFatal(), LOG4CXX_LOCATION, message); } \
} while (false)

Expand Down Expand Up @@ -372,10 +372,10 @@
* @param message Message to be logged.
*/
#define LOGS_TRACE(message) \
do { if (LOG4CXX_UNLIKELY(lsst::log::Log::defaultLogger.isTraceEnabled())) { \
do { if (LOG4CXX_UNLIKELY(lsst::log::Log::getDefaultLogger().isTraceEnabled())) { \
std::ostringstream stream_; \
stream_ << message; \
lsst::log::Log::defaultLogger.logMsg( \
lsst::log::Log::getDefaultLogger().logMsg( \
log4cxx::Level::getTrace(), LOG4CXX_LOCATION, \
stream_.str()); } \
} while (false)
Expand All @@ -392,10 +392,10 @@
* @param message Message to be logged.
*/
#define LOGS_DEBUG(message) \
do { if (LOG4CXX_UNLIKELY(lsst::log::Log::defaultLogger.isDebugEnabled())) { \
do { if (LOG4CXX_UNLIKELY(lsst::log::Log::getDefaultLogger().isDebugEnabled())) { \
std::ostringstream stream_; \
stream_ << message; \
lsst::log::Log::defaultLogger.logMsg( \
lsst::log::Log::getDefaultLogger().logMsg( \
log4cxx::Level::getDebug(), LOG4CXX_LOCATION, \
stream_.str()); } \
} while (false)
Expand All @@ -412,10 +412,10 @@
* @param message Message to be logged.
*/
#define LOGS_INFO(message) \
do { if (lsst::log::Log::defaultLogger.isInfoEnabled()) { \
do { if (lsst::log::Log::getDefaultLogger().isInfoEnabled()) { \
std::ostringstream stream_; \
stream_ << message; \
lsst::log::Log::defaultLogger.logMsg( \
lsst::log::Log::getDefaultLogger().logMsg( \
log4cxx::Level::getInfo(), LOG4CXX_LOCATION, \
stream_.str()); } \
} while (false)
Expand All @@ -432,10 +432,10 @@
* @param message Message to be logged.
*/
#define LOGS_WARN(message) \
do { if (lsst::log::Log::defaultLogger.isWarnEnabled()) { \
do { if (lsst::log::Log::getDefaultLogger().isWarnEnabled()) { \
std::ostringstream stream_; \
stream_ << message; \
lsst::log::Log::defaultLogger.logMsg( \
lsst::log::Log::getDefaultLogger().logMsg( \
log4cxx::Level::getWarn(), LOG4CXX_LOCATION, \
stream_.str()); } \
} while (false)
Expand All @@ -452,10 +452,10 @@
* @param message Message to be logged.
*/
#define LOGS_ERROR(message) \
do { if (lsst::log::Log::defaultLogger.isErrorEnabled()) { \
do { if (lsst::log::Log::getDefaultLogger().isErrorEnabled()) { \
std::ostringstream stream_; \
stream_ << message; \
lsst::log::Log::defaultLogger.logMsg( \
lsst::log::Log::getDefaultLogger().logMsg( \
log4cxx::Level::getError(), LOG4CXX_LOCATION, \
stream_.str()); } \
} while (false)
Expand All @@ -472,10 +472,10 @@
* @param message Message to be logged.
*/
#define LOGS_FATAL(message) \
do { if (lsst::log::Log::defaultLogger.isFatalEnabled()) { \
do { if (lsst::log::Log::getDefaultLogger().isFatalEnabled()) { \
std::ostringstream stream_; \
stream_ << message; \
lsst::log::Log::defaultLogger.logMsg( \
lsst::log::Log::getDefaultLogger().logMsg( \
log4cxx::Level::getFatal(), LOG4CXX_LOCATION, \
stream_.str()); } \
} while (false)
Expand Down Expand Up @@ -710,7 +710,7 @@ namespace log {
*/
class Log {
public:
Log() : _logger(defaultLogger._logger) { }
Log() : _logger(getDefaultLogger()._logger) { }

/**
* Check whether the logger is enabled for the DEBUG Level
Expand Down Expand Up @@ -741,7 +741,7 @@ class Log {
void setLevel(int level);
int getLevel(void);
bool isEnabledFor(int level);
static Log defaultLogger;
static Log & getDefaultLogger(void);
static void initLog(void);
static void configure(void);
static void configure(std::string const& filename);
Expand Down
1 change: 0 additions & 1 deletion python/lsst/log/logLib.i
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ import os
%include "lsst/log/Log.h"

%extend lsst::log::Log {
static lsst::log::Log getDefaultLogger() { return lsst::log::Log::defaultLogger; };
static void log(Log logger, int level, std::string const& filename,
std::string const& funcname, unsigned int lineno,
std::string const& msg) {
Expand Down
21 changes: 12 additions & 9 deletions src/Log.cc
Original file line number Diff line number Diff line change
Expand Up @@ -112,15 +112,18 @@ namespace log {

// Log class

/** Reference to the defaultLogger used by LOG* macros.
/** Reference to the default logger used by LOG* macros.
*/
Log Log::defaultLogger(log4cxx::Logger::getRootLogger());
Log & Log::getDefaultLogger() {
static Log _default(log4cxx::Logger::getRootLogger());
return _default;
}

/** Initializes logging module (e.g. default logger and logging context).
*/
void Log::initLog() {
// Default logger initially set to root logger
defaultLogger = log4cxx::Logger::getRootLogger();
getDefaultLogger() = log4cxx::Logger::getRootLogger();
}

/** Configures log4cxx and initializes logging system by invoking
Expand Down Expand Up @@ -200,7 +203,7 @@ void Log::configure_prop(std::string const& properties) {
* @return String containing the default logger name.
*/
std::string Log::getDefaultLoggerName() {
return defaultLogger.getName();
return getDefaultLogger().getName();
}

/** Get the logger name associated with the Log object.
Expand All @@ -222,7 +225,7 @@ std::string Log::getName() const {
*/
Log Log::getLogger(std::string const& loggername) {
if (loggername.empty()){
return defaultLogger;
return getDefaultLogger();
} else {
return Log(log4cxx::Logger::getLogger(loggername));
}
Expand All @@ -245,15 +248,15 @@ void Log::pushContext(std::string const& name) {
}

// Construct new default logger name
std::string newName = defaultLogger._logger->getName();
std::string newName = getDefaultLogger()._logger->getName();
if (newName == "root") {
newName = name;
} else {
newName += ".";
newName += name;
}
// Update defaultLogger
defaultLogger = Log(log4cxx::Logger::getLogger(newName));
getDefaultLogger() = Log(log4cxx::Logger::getLogger(newName));
}

/** Pops the last pushed name off the global hierarchical default logger
Expand All @@ -262,10 +265,10 @@ void Log::pushContext(std::string const& name) {
void Log::popContext() {
// switch to parent logger, this assumes that loggers are not
// re-parented between calls to push and pop
log4cxx::LoggerPtr parent = defaultLogger._logger->getParent();
log4cxx::LoggerPtr parent = getDefaultLogger()._logger->getParent();
// root logger does not have parent, stay at root instead
if (parent) {
defaultLogger = Log(parent);
getDefaultLogger() = Log(parent);
}
}

Expand Down

0 comments on commit b5a32a7

Please sign in to comment.