Содержание
Формат сообщения для syslog
Для удобства анализа следует выработать единый формат сообщения, например такой:
[раздел сайта][действие или процесс][результат][прочие теги]: описание сообщения
Раздел сайта
В виде расширяемого справочника:
[API]
- сообщения API сайта[LK 2.0]
- ЛК 2.0[logistic]
- логистика[DBI]
- DBI (например, обмен)[NSI]
- НСИ (например, обмен)
Действие или процесс
Уникальное действие (внутри раздела сайта) или процесс. Для сложных действий можно использовать категория:объект.действие
, предпочтение - использовать точку вместо camelCase.
Примеры:
[LK 2.0][ws:debt.get]
[LK 2.0][ws:order.get]
[LK 2.0][ns:partner.access]
[LK 2.0][self:invoice]
[LK 2.0][self:reserves.correct]
[LK 2.0][reclamation:catalog.search]
[LK 2.0][1c_import:report.get]
[NSI][infobaza:tm.update]
[DBI][sellout:mssql.export]
[LK 2.0][ws:%s][error][user:%s][uri:%s][http:%s]
- шаблон для веб-сервиса
Категории:
ws:
- обмен с веб-сервисами1c_import:
- стандартный обмен 1С ⇔ Битрикс (так как инициатор 1С)reclamation:
- рекламацииinfobaza:
- инфобаза
Действия:
get
, access
, correct
, search
, update
, export
, ...
Результат
Для статистики важно писать как ошибки, так и успешные действия, а также отладочную информацию. Сислог можно настроить на прием различных типов сообщения, но удобнее писать в виде тегов:
[error]
- произошла ошибка[info:ok]
- успешное действие[info:start]
,[info:end]
- удобно использовать для длительного процесса, чтобы привязаться к датам
Прочие теги
[user:20881]
- пользователь ID[raw:сырые данные]
- например, текст ошибки из 1С[http:код ответа]
- код ответа HTTP от веб-сервиса
Описание сообщения
Произвольное сообщение, дополнительные параметры
Примеры
Два реальных примера: ошибка и успешное выполнения действия:
// ошибка syslog(LOG_ERR, "[LK 2.0][ws:order.detail.get][error][user:20881][uri:http://europes.dev/Plazma/hs/lk20/order_detail/0e10070b-e70b-11e8-8118-00155d049f73]: curl error Couldn't resolve host 'europes.dev'"); // информация: успешная операция syslog(LOG_INFO, "[LK 2.0][ws:order.detail.get][info:ok][user:20881][uri:http://mab.dev/DubrovinPlazma/hs/lk20/order_detail/591da78a-fd06-11e8-8120-00155d040154]");
В логе это выглядит так:
tail /var/log/messages Jan 23 00:20:24 pushorigin-desktop php: [LK 2.0][ws:order.detail.get][error][user:20881][uri:http://europes.dev/Plazma/hs/lk20/order_detail/0e10070b-e70b-11e8-8118-00155d049f73]: curl error Couldn't resolve host 'europes.dev' Jan 23 00:20:29 pushorigin-desktop php: [LK 2.0][ws:order.detail.get][info:ok][user:20881][uri:http://mab.dev/DubrovinPlazma/hs/lk20/order_detail/591da78a-fd06-11e8-8120-00155d040154]