logologo
Начало
Руководство
Разработка
Плагины
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Начало
Руководство
Разработка
Плагины
API
logologo

Журналирование

Журналы сервера, журналы аудита и история записей
Next PageЖурналы сервера, журналы аудита и история записей
Уведомление о переводе ИИ

Эта документация была автоматически переведена ИИ.

#pkg: '@nocobase/plugin-logger'

#Журналирование

This feature is provided by the plugin «Журнал»

#Введение

Журналы — это важный инструмент для выявления системных проблем. Серверные журналы NocoBase включают в себя журналы запросов к интерфейсу и журналы работы системы. Вы можете настроить уровень журналирования, стратегию ротации, размер файлов, формат вывода и другие параметры. В этом документе мы подробно рассмотрим серверные журналы NocoBase, а также расскажем, как использовать функциональность плагина для журналирования для упаковки и загрузки серверных журналов.

#Настройка журналирования

Параметры, связанные с журналированием, такие как уровень журналов, метод вывода и формат печати, можно настроить с помощью переменных окружения.

#Форматы журналов

NocoBase поддерживает настройку четырех различных форматов журналов.

#console

Формат по умолчанию для среды разработки, сообщения отображаются с подсветкой.

2023-12-30 22:40:06 [info]  response                                     method=GET path=/api/uiSchemas:getJsonSchema/nocobase-admin-menu res={"status":200} action={"actionName":"getJsonSchema","resourceName":"uiSchemas","params":{"filterByTk":"nocobase-admin-menu","resourceName":"uiSchemas","resourceIndex":"nocobase-admin-menu","actionName":"getJsonSchema"}} userId=1 status=200 cost=5 app=main reqId=ccf4e3bd-beb0-4350-af6e-b1fc1d9b6c3f
2023-12-30 22:43:12 [debug] Database dialect: mysql                      module=application method=install app=main reqId=31ffa8b5-f377-456b-a295-0c8a28938228
2023-12-30 22:43:12 [warn]  app is installed                             module=application method=install app=main reqId=31ffa8b5-f377-456b-a295-0c8a28938228

#json

Формат по умолчанию для производственной среды.

{
  "level": "info",
  "timestamp": "2023-12-26 22:04:56",
  "reqId": "7612ef42-58e8-4c35-bac2-2e6c9d8ec96e",
  "message": "response",
  "method": "POST",
  "path": "/api/authenticators:publicList",
  "res": { "status": 200 },
  "action": {
    "actionName": "publicList",
    "resourceName": "authenticators",
    "params": { "resourceName": "authenticators", "actionName": "publicList" }
  },
  "status": 200,
  "cost": 16
}

#logfmt

https://brandur.org/logfmt.

level=info timestamp=2023-12-21 14:18:02 reqId=8b59a40d-68ee-4c97-8001-71a47a92805a
message=response method=POST path=/api/authenticators:publicList res={"status":200}
action={"actionName":"publicList","resourceName":"authenticators","params":{"resourceName":"authenticators","actionName":"publicList"}}
userId=undefined status=200 cost=14

#delimiter

Разделяется символом-разделителем |.

info|2023-12-26 22:07:09|13cd16f0-1568-418d-ac37-6771ee650e14|response|POST|/api/authenticators:publicList|{"status":200}|{"actionName":"publicList","resourceName":"authenticators","params":{"resourceName":"authenticators","actionName":"publicList"}}||200|25

#Каталог журналов

Основная структура каталогов файлов журналов NocoBase выглядит следующим образом:

  • storage/logs - Каталог вывода журналов
    • main - Название основного приложения
      • request_YYYY-MM-DD.log - Журнал запросов
      • system_YYYY-MM-DD.log - Системный журнал
      • system_error_YYYY-MM-DD.log - Журнал системных ошибок
      • sql_YYYY-MM-DD.log - Журнал выполнения SQL
      • ...
    • sub-app - Название дочернего приложения
      • request_YYYY-MM-DD.log
      • ...

#Файлы журналов

#Журнал запросов

request_YYYY-MM-DD.log — журналы запросов к интерфейсу и ответов.

ПолеОписание
levelУровень журнала
timestampВремя записи в журнал YYYY-MM-DD hh:mm:ss
messagerequest или response
userIdТолько в response
methodМетод запроса
pathПуть запроса
req / resСодержимое запроса/ответа
actionЗапрашиваемые ресурсы и параметры
statusКод состояния ответа
costДлительность запроса
appНазвание текущего приложения
reqIdID запроса
Примечание

ID запроса (reqId) будет передан на фронтенд через заголовок ответа X-Request-Id.

#Системный журнал

system_YYYY-MM-DD.log — журналы работы приложения, промежуточного ПО, плагинов и других системных компонентов. Журналы уровня error будут записываться отдельно в system_error_YYYY-MM-DD.log.

ПолеОписание
levelУровень журнала
timestampВремя записи в журнал YYYY-MM-DD hh:mm:ss
messageСообщение журнала
moduleМодуль
submoduleПодмодуль
methodВызываемый метод
metaДругая связанная информация, формат JSON
appНазвание текущего приложения
reqIdID запроса

#Журнал выполнения SQL

sql_YYYY-MM-DD.log — журналы выполнения SQL-запросов к базе данных. Операторы INSERT INTO сохраняются только до первых 2000 символов.

ПолеОписание
levelУровень журнала
timestampВремя записи в журнал YYYY-MM-DD hh:mm:ss
sqlSQL-запрос
appНазвание текущего приложения
reqIdID запроса

#Упаковка и загрузка журналов

  1. Перейдите на страницу управления журналами.
  2. Выберите файлы журналов, которые вы хотите загрузить.
  3. Нажмите кнопку «Загрузить» (Download).

2024-04-10_10-50-50

#Связанные документы

  • Разработка плагинов - Сервер - Журналирование
  • Справочник API - @nocobase/logger