36 lines
2.1 KiB
Markdown
36 lines
2.1 KiB
Markdown
# 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)
|
||
|
||

|
||
|