diff options
Diffstat (limited to 'src/components/include/utils/logger.h')
-rw-r--r-- | src/components/include/utils/logger.h | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/components/include/utils/logger.h b/src/components/include/utils/logger.h index 7c00c5d3a..50d194245 100644 --- a/src/components/include/utils/logger.h +++ b/src/components/include/utils/logger.h @@ -30,6 +30,8 @@ * POSSIBILITY OF SUCH DAMAGE. */ + + #ifndef SRC_COMPONENTS_UTILS_INCLUDE_UTILS_LOGGER_H_ #define SRC_COMPONENTS_UTILS_INCLUDE_UTILS_LOGGER_H_ @@ -37,11 +39,11 @@ #include <errno.h> #include <string.h> #include <sstream> - #include <apr_time.h> #include <log4cxx/propertyconfigurator.h> #include <log4cxx/spi/loggingevent.h> #include "utils/push_log.h" #include "utils/logger_status.h" + #include "utils/auto_trace.h" #endif // ENABLE_LOG #ifdef ENABLE_LOG @@ -57,19 +59,23 @@ #define INIT_LOGGER(file_name) \ log4cxx::PropertyConfigurator::configure(file_name); - // without this line log4cxx threads continue using some instances destroyed by exit() - #define DEINIT_LOGGER() \ - log4cxx::Logger::getRootLogger()->closeNestedAppenders(); + // Logger deinitilization function and macro, need to stop log4cxx writing + // without this deinitilization log4cxx threads continue using some instances destroyed by exit() + void deinit_logger (); + #define DEINIT_LOGGER() deinit_logger() #define LOG4CXX_IS_TRACE_ENABLED(logger) logger->isTraceEnabled() + log4cxx_time_t time_now(); + #define LOG_WITH_LEVEL(loggerPtr, logLevel, logEvent) \ do { \ if (logger::logger_status != logger::DeletingLoggerThread) { \ if (loggerPtr->isEnabledFor(logLevel)) { \ std::stringstream accumulator; \ accumulator << logEvent; \ - logger::push_log(loggerPtr, logLevel, accumulator.str(), apr_time_now(), LOG4CXX_LOCATION, ::log4cxx::spi::LoggingEvent::getCurrentThreadName()); \ + logger::push_log(loggerPtr, logLevel, accumulator.str(), time_now(), \ + LOG4CXX_LOCATION, ::log4cxx::spi::LoggingEvent::getCurrentThreadName()); \ } \ } \ } while (false) @@ -110,8 +116,8 @@ #undef LOG4CXX_TRACE #define LOG4CXX_TRACE(loggerPtr, logEvent) LOG_WITH_LEVEL(loggerPtr, ::log4cxx::Level::getTrace(), logEvent) - #define LOG4CXX_TRACE_ENTER(logger) LOG4CXX_TRACE(logger, "ENTER: " << __PRETTY_FUNCTION__ ) - #define LOG4CXX_TRACE_EXIT(logger) LOG4CXX_TRACE(logger, "EXIT: " << __PRETTY_FUNCTION__ ) + #define LOG4CXX_AUTO_TRACE_WITH_NAME_SPECIFIED(loggerPtr, auto_trace) logger::AutoTrace auto_trace(loggerPtr, LOG4CXX_LOCATION) + #define LOG4CXX_AUTO_TRACE(loggerPtr) LOG4CXX_AUTO_TRACE_WITH_NAME_SPECIFIED(loggerPtr, SDL_local_auto_trace_object) #define LOG4CXX_ERROR_WITH_ERRNO(logger, message) \ LOG4CXX_ERROR(logger, message << ", error code " << errno << " (" << strerror(errno) << ")") @@ -173,8 +179,8 @@ #define LOG4CXX_FATAL_EXT(logger, logEvent) #define LOG4CXX_FATAL_STR_EXT(logger, logEvent) - #define LOG4CXX_TRACE_ENTER(logger) - #define LOG4CXX_TRACE_EXIT(logger) + #define LOG4CXX_AUTO_TRACE_WITH_NAME_SPECIFIED(loggerPtr, auto_trace) + #define LOG4CXX_AUTO_TRACE(loggerPtr) #endif // ENABLE_LOG #endif // SRC_COMPONENTS_UTILS_INCLUDE_UTILS_LOGGER_H_ |