2016-05-12 97 views
1

我想重定向日誌的輸出JSON格式,所以,我有一個Json配置log4j2。我知道我應該使用JsonLayout,但我沒有找到任何方法將它放在我的配置上。這是我的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" 
      } 
     ] 
     } 
    } 
    } 
} 

你能幫我把這個添加到我的配置文件嗎?

+0

我有點困惑。爲什麼不能用JsonLayout配置FileAppender? – rgoers

+0

我該怎麼做? @rgoers –

回答

0

這裏是一個例子。您應該查看http://logging.apache.org/log4j/2.x/manual/layouts.html#JSONLayout以瞭解您可以使用的選項。另外,配置文件不一定要用JSON來使用JsonLayout。它可以是XML,YAML或屬性文件。

{ 
    "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" 
     } 
     }, 
     "File" : { 
     "name" : "file", 
     "fileName" : "${env:logdir}/app.log", 
     "JsonLayout" : { 
      "complete" : "true" 
     } 
     } 
    }, 
    "Loggers": { 
     "Root": { 
     "level": "info", 
     "AppenderRef": [ 
      { 
      "ref": "Console" 
      }, 
      { 
      "ref" : "File" 
      } 
     ] 
     } 
    } 
    } 
} 
1

這裏的東西的工作例如,您只需JSONLayout這是Layout對JSON事件記錄的IMPL。

{ 
    "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" 
     } 
     } 
    } 
    } 
}