Alf*_*red 16 java logging logback slf4j structured-logging
任何人都知道SLF4J 通常如何实现结构化日志记录?
是否有任何开源已经可以处理这个问题?
Fri*_*rdt 11
如果您将 SLF4J 与 Logback 和 Logstash 结合使用,则支持结构化日志记录StructuredArguments。您可以在 Github上的logstash logback 编码器页面上找到关于此的文档。
一个简单的例子来说明它是如何工作的。这个日志行..
log.debug("Retrieved file {}", StructuredArguments.value("filename", upload.getOriginalFilename()))
Run Code Online (Sandbox Code Playgroud)
.. 产生以下日志 json 输出:
{
"filename": "simple.zip",
"@timestamp": "2019-02-12T14:31:31.631+00:00",
"severity": "DEBUG",
"service": "upload",
"thread": "http-nio-9091-exec-1",
"logger": "some.great.ClassName",
"message": "Retrieved file simple.zip"
}
Run Code Online (Sandbox Code Playgroud)
Slf4j 添加了对 v2.0.0 结构化日志(和 fluent API)的支持(Alpha 截至 2019 年 10 月):
http://www.slf4j.org/apidocs/org/slf4j/spi/LoggingEventBuilder.html
int newT = 15;
int oldT = 16;
// using classical API
logger.debug("oldT={} newT={} Temperature changed.", newT, oldT);
// using fluent API
logger.atDebug()
.addKeyValue("oldT", oldT)
.addKeyValue("newT", newT)
.log("Temperature changed.");
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
13273 次 |
| 最近记录: |