LINUX.ORG.RU

История изменений

Исправление 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}

зы: На гениальность кода не претендую, код привел для помощи ТСу в собственной разработке... У меня данный код работает в продашене, все норм, проблем с падением производительности не наблюдаю