Исправление energyclab, (текущая версия) :
Парень
void operator<<(int inttt)
заставит тебя перегружать оператор вывода для всех типов, надо эзать шаблоны, вот тебе работающий логер logging.h и logger.cpp
Использую так
LogManager *lg = LogManager::get_logging();
Formatter *f = new Formatter("[TIME] [LEVEL:10] [NAME:15] [SESSION:10] [MESSAGE]");
ConsoleHandler *ch = new ConsoleHandler();
FileHandler *fh = new FileHandler(log_file_path.toStdString());
f -> set_time_format("%Y-%m-%d %H:%M:%S,");
ch -> set_formatter(f);
fh -> set_formatter(f);
lg -> add_handler(ch);
lg -> add_handler(fh);
Logger *log = LogManager::get_logging() -> get_logger("UpdateManager");
log -> set_param("SESSION", "None");
log -> debug() << 123 << "123" << 4.5 << '\n';Logger
log -> info() << 123 << "123" << 4.5 << '\n';Logger
log -> warning() << 123 << "123" << 4.5 << '\n';Logger
log -> error() << 123 << "123" << 4.5 << '\n';Logger
log -> critical() << 123 << "123" << 4.5 << '\n';Logger
Для сборки нужен флаг -std=c++11
зы: На гениальность кода не претендую, код привел для помощи ТСу в собственной разработке... У меня данный код работает в продашене, все норм, проблем с падением производительности не наблюдаю
Исправление energyclab, :
Парень
void operator<<(int inttt)
заставит тебя перегружать оператор вывода для всех типов, надо эзать шаблоны, вот тебе работающий логер logging.h и logger.cpp
Использую так
LogManager *lg = LogManager::get_logging();
Formatter *f = new Formatter("[TIME] [LEVEL:10] [NAME:15] [SESSION:10] [MESSAGE]");
ConsoleHandler *ch = new ConsoleHandler();
FileHandler *fh = new FileHandler(log_file_path.toStdString());
f -> set_time_format("%Y-%m-%d %H:%M:%S,");
ch -> set_formatter(f);
fh -> set_formatter(f);
lg -> add_handler(ch);
lg -> add_handler(fh);
Logger *log = LogManager::get_logging() -> get_logger("UpdateManager");
log -> set_param("SESSION", "None");
log -> debug() << 123 << "123" << 4.5 << '\n';Logger
log -> info() << 123 << "123" << 4.5 << '\n';Logger
log -> warning() << 123 << "123" << 4.5 << '\n';Logger
log -> error() << 123 << "123" << 4.5 << '\n';Logger
log -> critical() << 123 << "123" << 4.5 << '\n';Logger
Для сборки нужен флаг std-c++11
зы: На гениальность кода не претендую, код привел для помощи ТСу в собственной разработке... У меня данный код работает в продашене, все норм, проблем с падением производительности не наблюдаю
Исправление energyclab, :
Парень
void operator<<(int inttt)
заставит тебя перегружать оператор вывода для всех типов, надо эзать шаблоны, вот тебе работающий логер logging.h и logger.cpp
Использую так
LogManager *lg = LogManager::get_logging();
Formatter *f = new Formatter("[TIME] [LEVEL:10] [NAME:15] [SESSION:10] [MESSAGE]");
ConsoleHandler *ch = new ConsoleHandler();
FileHandler *fh = new FileHandler(log_file_path.toStdString());
f -> set_time_format("%Y-%m-%d %H:%M:%S,");
ch -> set_formatter(f);
fh -> set_formatter(f);
lg -> add_handler(ch);
lg -> add_handler(fh);
Logger *log = LogManager::get_logging() -> get_logger("UpdateManager");
log -> set_param("SESSION", "None");
log -> debug() << 123 << "123" << 4.5 << '\n';Logger
log -> info() << 123 << "123" << 4.5 << '\n';Logger
log -> warning() << 123 << "123" << 4.5 << '\n';Logger
log -> error() << 123 << "123" << 4.5 << '\n';Logger
log -> critical() << 123 << "123" << 4.5 << '\n';Logger
зы: На гениальность кода не претендую, код привел для помощи ТСу в собственной разработке... У меня данный код работает в продашене, все норм, проблем с падением производительности не наблюдаю
Исправление energyclab, :
Парень
void operator<<(int inttt)
заставит тебя перегружать оператор вывода для всех типов, надо эзать шаблоны, вот тебе работающий логер logging.h и logger.cpp
Использую так
LogManager *lg = LogManager::get_logging(); Formatter *f = new Formatter("[TIME] [LEVEL:10] [NAME:15] [SESSION:10] [MESSAGE]"); ConsoleHandler *ch = new ConsoleHandler(); FileHandler *fh = new FileHandler(log_file_path.toStdString()); f -> set_time_format("%Y-%m-%d %H:%M:%S,"); ch -> set_formatter(f); fh -> set_formatter(f); lg -> add_handler(ch); lg -> add_handler(fh); Logger *log = LogManager::get_logging() -> get_logger("UpdateManager"); log -> set_param("SESSION", "None"); log -> debug() << 123 << "123" << 4.5 << '\n';Logger log -> info() << 123 << "123" << 4.5 << '\n';Logger log -> warning() << 123 << "123" << 4.5 << '\n';Logger log -> error() << 123 << "123" << 4.5 << '\n';Logger log -> critical() << 123 << "123" << 4.5 << '\n';Logger
зы: На гениальность кода не претендую, код привел для помощи ТСу в собственной разработке... У меня данный код работает в продашене, все норм, проблем с падением производительности не наблюдаю
Исходная версия energyclab, :
Парень {quote} void operator<<(int inttt) {quote}
заставит тебя перегружать оператор вывода для всех типов, надо эзать шаблоны, вот тебе работающий логер logging.h и logger.cpp
Использую так {code} LogManager *lg = LogManager::get_logging(); Formatter *f = new Formatter("[TIME] [LEVEL:10] [NAME:15] [SESSION:10] [MESSAGE]"); ConsoleHandler *ch = new ConsoleHandler(); FileHandler *fh = new FileHandler(log_file_path.toStdString());
f -> set_time_format(«%Y-%m-%d %H:%M:%S,»); ch -> set_formatter(f); fh -> set_formatter(f); lg -> add_handler(ch); lg -> add_handler(fh);
Logger *log = LogManager::get_logging() -> get_logger(«UpdateManager»); log -> set_param(«SESSION», «None»);
log -> debug() << 123 << «123» << 4.5 << '\n';Logger log -> info() << 123 << «123» << 4.5 << '\n';Logger log -> warning() << 123 << «123» << 4.5 << '\n';Logger log -> error() << 123 << «123» << 4.5 << '\n';Logger log -> critical() << 123 << «123» << 4.5 << '\n';Logger {code}
зы: На гениальность кода не претендую, код привел для помощи ТСу в собственной разработке... У меня данный код работает в продашене, все норм, проблем с падением производительности не наблюдаю