Содержание
Формат сообщения для 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]