Serilog - основной формат файла JSON dotnet - PullRequest
0 голосов
/ 18 мая 2018

Наше основное приложение dotnet использует serilog, чтобы выплевывать файлы журналов в формате json, которые мы используем beats / logstash / ES для обработки.

По умолчанию используется поле messageTemplate, которое использует параметры и сохраняет значения в другом месте, как показано ниже, с {ConnectionId}.

Есть ли способ, чтобы в нем было поле с фактическим сообщением?Например: «Идентификатор соединения 0HLDSOA7JG3GS отправка FIN.»

 {
         "source" => "/var/log/myapp/myapp-api-logs                                                                                                /myapp-staging-api-logs-20180518.log",
           "json" => {
              "Properties" => {
              "ConnectionId" => "0HLDSOA7JG3GS"                                                                                                ,
                   "EventId" => {
                 "Id" => 7
             },
             "SourceContext" => "Microsoft.AspN                                                                                                etCore.Server.Kestrel.Transport.Libuv"
         },
                   "Level" => "Debug",
               "Timestamp" => "2018-05-18T16:23                                                                                                :40.5286099+03:00",
         "MessageTemplate" => "Connection id \"                                                                                                {ConnectionId}\" sending FIN.",
                 "message" => ""
     },
           "beat" => {
         "hostname" => "33eb9c70141c",
             "name" => "33eb9c70141c",
          "version" => "6.2.4"
     },
     "@timestamp" => 2018-05-18T13:23:43.999Z,
     "prospector" => {
         "type" => "log"
     },
         "offset" => 55337,
         "fields" => {
            "appenv" => "staging",
         "appsource" => "myapp-staging-api-logs"
     },
       "@version" => "1",
           "host" => "33eb9c70141c",
           "tags" => [
         [0] "beats_input_raw_event"
     ]
 }

1 Ответ

0 голосов
/ 19 мая 2018

См. RenderedCompactJsonFormatter и друзья.

...