我有一個記錄的語句,像這樣:的Java的logback嵌套的變量替換
private static final Logger LOGGER = LoggerFactory.getLogger(Foo.class);
long elapsedTime = 8348; //test value
LOGGER.info("message:{},timestamp:{}",
"Finished execution in {} milliseconds", elapsedTime,
LocalDateTime.now());
我想第2 {}
由字符串消息和localdatetime所取代。但是第三個{}
裏面的信息應該被替換成long。因此,它應該記錄:
INFO app.Foo - message:Finished execution in 8348 milliseconds,timestamp:2016-03-25T13:55:05.026
而是將其記錄:
INFO app.Foo - message:Finished execution in {} milliseconds,timestamp:5017
任何方式嵌套變量替換的記錄?我可以連接字符串像
long elapsedTime = 8348; //test value
LOGGER.info("message:{},timestamp:{}",
"Finished execution in " + elapsedTime + " milliseconds",
LocalDateTime.now());
但我想避免繁瑣的連接。
你有你的格式化字符串3 {}中,但只有2個參數後,每{}應遵循的說法一致。 –
@DennisR右我明白爲什麼結果是這樣,但我想看看我可以如何嵌套變量替換。 – Richard
可能不支持 –