2017-06-09 42 views
1

打印我有下面登錄我的應用程序文件陽明海運設置; -爲什麼代碼MDC設置不Dropwizard 1.0.6

#Logging settings. 
    logging: 

    # The default level of all loggers. Can be OFF, ERROR, WARN, INFO, DEBUG, TRACE, or ALL. 
    level: INFO 
    appenders: 
    - type: console 
    - type: file 
     threshold: DEBUG 
     logFormat: "%-6level [%d{HH:mm:ss.SSS}] %logger %X{test} %msg %n" 
     currentLogFilename: app.log 
     archivedLogFilenamePattern: app-%d{yyyy-MM-dd}-%i.log 
     archivedFileCount: 7 
     timeZone: UTC 
     maxFileSize: 10MB 
     includeCallerData: true 

我檢查使用test關鍵是在MDC被設置調試器地圖,我可以明確地調用它並在控制檯上打印它。但在記錄它不打印。

下面是我的日誌語句的O/P: -

INFO [2017年6月8日10:46:29501] com.abc.Test:日誌信息MDC-測試

正如您在日誌語句中看到的,事務ID不是正在打印,而是正在打印,但在下一行使用SOP MDC.get("test")正在打印。

+0

你似乎同時使用appender'console'和'file'?給定日誌語句是從哪個appender? –

+0

@AmitK,我從我的DW應用程序控制臺複製它。 – user7851946

+0

您可以檢查是否MDC代碼正在打印在您在文件appender中提到的日誌文件中? –

回答

2

問題是,在控制檯日誌appender中,沒有指定日誌格式,因此MDC代碼未打印,它將採用默認日誌格式在控制檯上打印。

要在控制檯上打印MDC代碼,請在您的yml文件中添加以下內容。

- type: console 
    threshold: DEBUG 
    logFormat: "%-6level [%d{HH:mm:ss.SSS}] %logger %X{test} %msg %n". 
相關問題