2017-02-10 70 views
0

我正在獲取日誌中的彈簧靴默認模式。Slf4j記錄器的模式

2017-02-10 15:39:01.111 INFO 24483 --- [ryBean_Worker-1] c.f.dashboard.services.SchedulerService : Hello World! 

我想日誌以這種格式

2017/02/10 11:24:37,771 [INFO] [http-nio-8080-exec-8] myMethod(myClass.java:38) - Hello World! 

我一直在使用這種模式

%sn %d{yyyy/MM/dd HH:mm:ss,SSS} %r [%-5p] [%t] %M(%F:%L) - %m%n 

嘗試,但被賦予在日誌行解析錯誤。

%PARSER_ERROR[sn] 2017/02/10 09:41:25 12018 [INFO ] [schedulerFactoryBean_Worker-1] %PARSER_ERROR[M] - Hello World! 
+0

我認爲該模式是正確的,並且代碼中可能存在一些其他問題。請參考下面的URL。 http://log4jtester.com/?p=%25sn+%25d%7Byyyy%2FMM%2Fdd+HH%3Amm%3Ass%2CSSS%7D+%25r+%5B%25-5p%5D+%5B%25t%5D+%25M( %25F%3A%25L)+ - +%25m%25n – Jayesh

回答

1

與application.xml

logging.pattern.console=%d{"yyyy/MM/dd HH:mm:ss,SSS"} [%p] [%t] %M\\(%F:%L\\) - %msg%n 

或者在application.yml

logging: 
    pattern: 
    console: '%d{"yyyy/MM/dd HH:mm:ss,SSS"} [%p] [%t] %M\(%F:%L\) - %msg%n' 

對於日期模式添加此,逗號 '' 字符被解釋爲參數分隔符,模式HH:mm:ss,SSS將被解釋爲模式HM:mm:ss和時區SSS。如果您希望在日期模式中包含逗號,則只需在引號之間引用該模式即可。例如,%date {「HH:mm:ss,SSS」}

對於方法模式,如果需要將括號字符視爲文字,則需要在每個帶反斜槓的括號前面進行轉義。否則,你會得到解析器錯誤。

休息是自我解釋。

+0

嘗試過。得到沒有任何換行符的日誌。 –

+0

2017/02/10 16:48:44,287 [INFO] [main] logStarting \(StartupInfoLogger.java:48\2017/02/10 16:48:44,295 [DEBUG] [main] logStarting \(StartupInfoLogger.java:51 \ 2017/02/10 16:48:44,295 [INFO] [main] logStartupProfileInfo \(SpringApplication.java:637\2017/02/10 16:48:48,209 [INFO] [main] log \(DirectJDKLog.java:179 \ 2017/02/10 16:48:48,211 [INFO] [main] log \(DirectJDKLog.java:179\2017/02/10 –

+0

我用它在yml文件中作爲。 pattern: console:'%d { 「yyyy/MM/dd HH:mm:ss,SSS」} [%p] [%t]%M \\(%F:%L \\) - %msg%n' –