是否可以仅通过更改log4j.properties.xml配置文件就让log4j以JSON格式输出其日志(log)记录?
我使用的是一个使用log4j 1.2的旧应用程序.我只看到XML布局,没有看到JSON布局.

推荐答案

只需使用Buildin PatternLayout即可:

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.encoding=UTF-8
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern={"debug_level":"%p","debug_timestamp":"%d{ISO8601}","debug_thread":"%t","debug_file":"%F", "debug_line":"%L","debug_message":"%m"}%n

结果会是:

{
    "debug_level" : "INFO",
    "debug_timestamp" : "2016-05-26 16:37:08,938",
    "debug_thread" : "main",
    "debug_file" : "TestLogOutPut.java",
    "debug_line" : "316",
    "debug_message" : "hello i am a log message"
}

Json相关问答推荐

当有嵌套数组而没有嵌套数组时,展平JSON

如何使用JQ有条件 Select 值

在PowerShell中,如何获取数据对所在的JSON对象的名称

Vegalite中分组条形图中的偏移量问题

属性错误:';ActivitiesClient';对象没有属性';base_url';

将JSON数组组织到菜单中

使用 Redis 作为键值存储

颠簸转换问题

如何通过 jolt 将一个对象中的键和值添加到数组中的每个对象中

父键中的 Perl JSON 数组

JOLT - 如果对象内部存在键,则将对象移动到数组

JSON 字段的多个名称

使用 Ansible 解析来自 Juniper 交换机的 JSON 输出

如何将动态复杂 json 解析为dart 对象或模型

如何使用法语口音对数组进行 json_encode?

带有方法参数的 WCF webHttpBinding 错误. 最多可以在没有包装元素的情况下序列化一个主体参数

将 javascript 对象或数组转换为 json 以获取 ajax 数据

在 Java 中比较两个 JSON 文件的最佳方法

Microsoft.Net.Http 与 Microsoft.AspNet.WebApi.Client

如何在 React js 中解析本地 JSON 文件?