2017-03-23 53 views
1

在開發環境中進行故障排除期間,我希望有時間從應用程序啓動,而不是日誌中的當前日期/時間。配置Logback:從應用程序啓動報告時間而不是當前日期/時間

像在dmesg輸出。

我應該使用什麼配置和格式?

UPDATE沒有來自官方網站的例子:https://logback.qos.ch/manual/layouts.html#writingYourOwnLayout其中自定義佈局實現:

import ch.qos.logback.classic.spi.ILoggingEvent; 
import ch.qos.logback.core.LayoutBase; 

public class MySampleLayout extends LayoutBase<ILoggingEvent> { 

    public String doLayout(ILoggingEvent event) { 
    StringBuffer sbuf = new StringBuffer(128); 
    sbuf.append(event.getTimeStamp() - event.getLoggingContextVO.getBirthTime()); 
    sbuf.append(" "); 
    sbuf.append(event.getLevel()); 
    return sbuf.toString(); 
    } 
} 

對於我來說過於複雜。這樣簡單的事情不應該需要編譯,而是配置...爲什麼我需要重新包裝jar或擴展CLASSPATH以包括自定義書面作家?

回答

1

似乎是官方的文檔對此有說明:

r/relative Outputs the number of milliseconds elapsed since the start 
       of the application until the creation of the logging event. 

但你不能格式化爲date

<encoder> 
     <pattern>%r %5p [%15.15t] %logger%n%m%wEx%n</pattern> 
    </encoder> 
相關問題