Назад | Перейти на главную страницу

Graylog2: может ли настраиваемое поле GELF принимать объект JSON

Я просто читал GELF spec, поскольку я интегрирую его в нашу систему. Мне просто было интересно, может ли дополнительное / настраиваемое поле содержать объект JSON, поскольку в спецификации это не упоминается:

Таким образом, мой вывод GELF (в частности, поле _request ниже) будет выглядеть примерно так:

{
  "version": "1.0",
  "host": "www1",
  "short_message": "Short message",
  "full_message": "Backtrace here\n\nmore stuff",
  "timestamp": 1291899928,
  "level": 1,
  "facility": "payment-backend",
  "file": "/var/www/somefile.rb",
  "line": 356,
  "_request": {
      "ip": "123.123.123.123",
      "url": "example.com/dir/file.ext",
      "method": "get",
      "referer" "example.net"
}

В настоящее время GELF не поддерживает вложенные объекты JSON, однако, если кому-то интересно, прокомментируйте на groups.google.com/forum/#!topic/graylog2/Xg3v3Qh8fmo.

Думаю, таких вложенных структур лучше избегать, это только усложнит ситуацию. Вы можете сгладить его и вместо этого поместить в JSON:

_request_ip
_request_url
_request_method
_request_referer