首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成结构化日志

生成结构化日志
EN

Stack Overflow用户
提问于 2022-06-21 15:23:48
回答 2查看 129关注 0票数 0

我是新来的JAVA。

我想问如何使用java生成这样的日志。

代码语言:javascript
复制
{"log_level":"INFO","timestamp":"2021-12-23T08:39:48.444706Z",
"event_type":"abc_c","capture_id":"400011","cap_pid":"00053716",
"deb":"0100","no_id":"0011",
"msg_id":"d8c5derbn5-63cb-11ec-8980-0242ac110004","module":"S_TH}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-21 15:40:31

假设您希望在日志文件中使用JSON (您的示例是无效的JSON),则可以使用Slf4j-json记录器

下面是一个讨论更多JSON日志解决方案的白龙文章

票数 3
EN

Stack Overflow用户

发布于 2022-06-22 15:52:02

如果您使用的是SLF4j和logback,您可以使用来自https://github.com/qos-ch/logback-contrib/wiki/JSON的ch.qos.logback.contrib.json.JsonLayout。

代码语言:javascript
复制
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.contrib.json.classic.JsonLayout">
        </layout>
</appender>

如果您的目标是Grafana Loki,则可以通过https://loki4j.github.io/loki-logback-appender/直接发送日志。

对于log4j2,有内置的JsonLayout:

代码语言:javascript
复制
<Appenders>
    <Console name="ConsoleJSONAppender" target="SYSTEM_OUT">
       <JsonLayout complete="false" compact="false">
       </JsonLayout>
   </Console>
</Appenders>

然而,这将只包括默认属性,如时间戳、日志级别、记录器名称和消息。如果要添加自定义属性,则SLF4J具有映射的诊断上下文:

代码语言:javascript
复制
    MDC.put("transaction.id", tx.getTransactionId());
    MDC.put("transaction.owner", tx.getOwner());
    logger.info("my message");
    MDC.clear();

Logback将自动将所有MDC键值作为JSON映射添加到"mdc“属性下。

如果您使用的是log4j2,则MDC称为ThreadContext。

代码语言:javascript
复制
    ThreadContext.put("myKey", "myValue");
    log.info("Here's a message!");
    ThreadContext.clear();

对于log4j2,您需要显式地向JsonLayout添加上下文键。

代码语言:javascript
复制
<Appenders>
    <Console name="ConsoleJSONAppender" target="SYSTEM_OUT">
       <JsonLayout complete="false" compact="false">
            <KeyValuePair key="myKey" />
       </JsonLayout>
   </Console>
</Appenders>value="${ctx:myKey}"/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72703394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档