亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Logstash-logback 事件特定的自定義字段

Logstash-logback 事件特定的自定義字段

智慧大石 2021-09-29 17:19:39
我正在嘗試使用logstash 文檔將特定于事件的字段添加到記錄器語句之一。我的記錄器聲明如下:LOGGER.info("Executed REST request time={}ms", StructuredArguments.value("request_time_ms", elapsedTimeMs));根據文檔:如果使用 LogstashEncoder /Layout 或使用復合編碼器/布局和參數提供程序,則StructuredArguments 將包含在 JSON 輸出中這意味著StructuredArguments只要我在使用,就應該對我有用LogstashEncoder:<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">    <encoder class="net.logstash.logback.encoder.LogstashEncoder">    </encoder></appender>但request_time_ms在輸出 JSON 中仍然缺失:{    "@timestamp": "2018-09-20T14:00:43.560+03:00",    "@version": 1,    "appname": "my_app",    "level": "INFO",    "level_value": 20000,    "logger_name": "com.example.MetricsAspect",    "message": "Executed REST request time=258ms",    "thread_name": "main"}
查看完整描述

1 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

StructuredArguments即使您LogstashEncoder在明確添加之前使用,它似乎也不會包含在 JSON 中ArgumentsJsonProvider:


<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

    <encoder class="net.logstash.logback.encoder.LogstashEncoder">

        <provider class="net.logstash.logback.composite.loggingevent.ArgumentsJsonProvider"/>

    </encoder>

</appender>

現在它按預期工作:


{

    "@timestamp": "2018-09-20T15:43:11.019+03:00",

    "@version": 1,

    "appname": "my_app",

    "level": "INFO",

    "level_value": 20000,

    "logger_name": "com.example.MetricsAspect",

    "message": "Executed REST request time=337ms",

    "request_time_ms": 337,

    "thread_name": "main"

}


查看完整回答
反對 回復 2021-09-29
  • 1 回答
  • 0 關注
  • 562 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號