Qt_Logger_Example/README.md

36 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Qt_Logger_Example
Пример организации логирования в файл для Qt
## Библиотека lib_logger
Логгер представляет собой класс singleton и запускается на старте приложения, например в `main.cpp` через
```
Logger::instance().start();
```
После запуска используется стандартный механизм логирования Qt, никаких дополнительных действий не требуется.
Сохранение текста в файл выполняется в отдельном потоке. При этом механизм логирования полностью потокобезопасен.
Работает под Qt5, Qt6, ОС Windows и GNU/Linux.
## Приложение
Приложение использует библиотеку `lib_logger` для сохранения лога в файл. Логирование событий осуществляется через стандартный механизм Qt:
```
qInfo() << "Строка информации";
qDebug() << "Строка отладки";
qWarning() << "Строка предупреждения";
qCritical() << "Строка ошибки";
```
Строки отладки (`qDebug`, `qCDebug`) сохраняются только если приложение запущено с параметром `/debug` или в каталоге ПО находится файл `debug` (без расширения с любым содержанием).
Логи сохраняются в каталоге профиля приложения. Если в каталоге ПО находится файл `portable` (без расширения с любым содержанием), то каталог логов будет создан в подкаталоге `profile` каталога ПО.
## Внешний вид приложения для тестирования (Qt6, ОС Windows 11)
![picture](/_resources/images/screenshot.png)