java - 将 JsonLayout 添加到 log4j2 json 配置

标签 java json logging logback log4j2

我正在尝试以 JSON 格式重定向日志输出,因此,我有 log4j2 的 Json 配置。我知道我应该使用 JsonLayout,但我没有找到任何方法将其放在我的配置中。这是我的 log4j2.json:

{
  "Configuration": {
    "status": "info",
    "Appenders": {
      "Console": {
        "name": "Console",
        "target": "SYSTEM_OUT",
        "PatternLayout": {
          "Pattern": "%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX} [%t] %-5level [%logger{1.}] - %msg%n"
        }
      }
    },
    "Loggers": {
      "Root": {
        "level": "info",
        "AppenderRef": [
          {
            "ref": "Console"
          }
        ]
      }
    }
  }
}

你能帮我将其添加到我的配置文件中吗?

最佳答案

这是一些有效的示例,您只需要 JSONLayout 它是用于 json 事件日志记录的 Layout 的实现。

{
  "configuration": {
    "name": "log-enrichment",
    "appenders": {
      "RollingFile": {
        "name": "rollingFile",
        "fileName": "enrichment.log",
        "filePattern": "%d{MM-dd-yy-HH-mm-ss}-%i.log",
        "JSONLayout": {
          "complete": false,
          "compact": false,
          "eventEol": true
        },
        "SizeBasedTriggeringPolicy": {
          "size": "100 MB"
        },
        "DefaultRolloverStrategy": {
          "max": "5"
        }
      }
    },
    "loggers": {
      "root": {
        "level": "DEBUG",
        "appender-ref": {
          "ref": "rollingFile"
        }
      }
    }
  }
}

关于java - 将 JsonLayout 添加到 log4j2 json 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37197807/

相关文章:

javascript - 不遍历整个响应 JSON

java - 为什么ajax Restful客户端不显示数据(java)?

使用 play dist 出现 java.io.FileNotFoundException

java - 表达式的非法开始和 ';' 预期错误

java.lang.UnsatisfiedLinkError dll.HelloJNI.sayHello()V

java - 如何编写一个以 ArrayList 和 int 作为参数并返回 ArrayList 的方法

java - SSLHandshakeException 致命警报 : handshake_failure

java - 使用 Jackson JSON 解析将 TRUE 或 FALSE 转换为 boolean 值

java - 如何在JBoss AS中登录 'activate' SLF4J

ruby - RSpec:测试 block 语法的记录器消息