42 int& initDebugLevel() {
43 static int dbglevel = 0;
47 std::string& initRootName() {
59 LoggerManager::LoggerManager() {
64 LoggerManager::~LoggerManager() {
70 LoggerManager::processInit() {
76 LoggerManager::processSpecification(
const LoggerSpecification& spec) {
77 impl_->processSpecification(spec);
82 LoggerManager::processEnd() {
91 int dbglevel,
const char* file,
bool buffer)
95 MessageInitializer::loadDictionary();
100 initRootName() = root;
101 initSeverity() = severity;
102 initDebugLevel() = dbglevel;
113 LoggerManagerImpl::init(severity, dbglevel, buffer);
118 logDuplicatedMessages();
122 readLocalMessageFile(file);
130 LoggerManager::logDuplicatedMessages() {
131 const list<string>& duplicates = MessageInitializer::getDuplicates();
132 if (!duplicates.empty()) {
137 for (list<string>::const_iterator i = duplicates.begin();
138 i != duplicates.end(); ++i) {
141 MessageInitializer::clearDuplicates();
150 LoggerManager::readLocalMessageFile(
const char* file) {
165 reader.
readFile(file, MessageReader::REPLACE);
172 for (MessageReader::MessageIDCollection::const_iterator
173 i = unknown.begin(); i != unknown.end(); ++i) {
174 string message_id = boost::lexical_cast<string>(*i);
185 for (vector<string>::size_type i = 0; i < args.size(); ++i) {
186 error_message = error_message.
arg(args[i]);
193 LoggerManager::reset() {
195 LoggerManagerImpl::reset(initSeverity(), initDebugLevel());
199 LoggerManager::getMutex() {