Apache Log4cxx: com/foo/config1.cpp (original) (raw)

This file is a simplified example of encapsulated Log4cxx configuration.

#include "com/foo/config.h"

namespace com { namespace foo {

auto getLogger(const std::string& name) -> LoggerPtr {

static struct log4cxx_initializer {

log4cxx_initializer() {

// Set up a simple configuration that logs on the console.

BasicConfigurator::configure();

}

~log4cxx_initializer() {

LogManager::shutdown();

}

} initAndShutdown;

return name.empty()

? LogManager::getRootLogger()

: LogManager::getLogger(name);

}

} } // namespace com::foo

Definition: configuration.h:25