Информация об изменениях

Сообщение Re[2]: Сервисы в Linux от 11.07.2020 6:35

Изменено 14.07.2020 11:19 AlexGin

Re[2]: Сервисы в Linux
Здравствуйте, уважаемый netch80, Вы писали:
...
N>У нас такая же проблема с log4cplus. Увы, продвинутые логгеры они такие, диверсионные.

Да, с моим старым простым файловым логером — этих проблем не было,
но и функционал там весьма ограниченный —
простое ежедневное логирование (имя файла формируется по текущей дате).

...просто сделать "консольку"...
N>Вполне. Демонизацию вам может обеспечить и внешнее средство.
N>Есть systemd (уже говорили), есть другие переходники для демонов, есть screen
+100500

Меня прежде всего интересует вышеупомянутый функционал:
ежедневное логирование, когда имя файла формируется по текущей дате.

Библиотека spdlog решает этот вопрос элементарно.

Велючаем заголовочники:
#include "spdlog/spdlog.h"
#include "spdlog/sinks/daily_file_sink.h"


По старту — подготавливаем ежедневное логирование:
      // Create a daily logger - a new file is created every day on 1:10am
      auto logger = spdlog::daily_logger_mt("daily_logger", "logs/daily.txt", 1, 10);
      logger->flush_on(spdlog::level::err);
      logger->flush_on(spdlog::level::info);
 
      spdlog::set_default_logger(logger);


И потом — используем это добро:
      spdlog::info("Application 'MyCoolApp' started!");
...
      spdlog::error("LoadObject ERROR: {}", sErr.c_str());


Предполагается, что это серверное приложение (загрузили — и на неделю "забыли").
Что же мне в этом случае даст лог на "экране"?

P.S. Впрочем — библиотека spdlog достаточно гибкая и многофункциональная,
для настольных приложений — я могу выбоать любой (более подходящий) вериант логера
При этом в кодах проекта — строки, использующие логирование, не меняются!
Re[2]: Сервисы в Linux
Здравствуйте, уважаемый netch80, Вы писали:
...
N>У нас такая же проблема с log4cplus. Увы, продвинутые логгеры они такие, диверсионные.

Да, с моим старым простым файловым логером — этих проблем не было,
но и функционал там весьма ограниченный —
простое ежедневное логирование (имя файла формируется по текущей дате).

...просто сделать "консольку"...
N>Вполне. Демонизацию вам может обеспечить и внешнее средство.
N>Есть systemd (уже говорили), есть другие переходники для демонов, есть screen
+100500

Меня прежде всего интересует вышеупомянутый функционал:
ежедневное логирование, когда имя файла формируется по текущей дате.

Библиотека spdlog решает этот вопрос элементарно.

Велючаем заголовочники:
#include "spdlog/spdlog.h"
#include "spdlog/sinks/daily_file_sink.h"


По старту — подготавливаем ежедневное логирование:
      // Create a daily logger - a new file is created every day on 1:10am
      auto logger = spdlog::daily_logger_mt("daily_logger", "logs/daily.txt", 1, 10);
      logger->set_level(spdlog::level::info);
      logger->flush_on(spdlog::level::info);
 
      spdlog::set_default_logger(logger);


И потом — используем это добро:
      spdlog::info("Application 'MyCoolApp' started!");
...
      spdlog::error("LoadObject ERROR: {}", sErr.c_str());


Предполагается, что это серверное приложение (загрузили — и на неделю "забыли").
Что же мне в этом случае даст лог на "экране"?

P.S. Впрочем — библиотека spdlog достаточно гибкая и многофункциональная,
для настольных приложений — я могу выбоать любой (более подходящий) вериант логера
При этом в кодах проекта — строки, использующие логирование, не меняются!