在开发环境中进行故障排除时,我希望从应用程序启动时间开始,而不是在日志中显示当前日期/时间。
与dmesg
输出相似。
我应该使用哪种配置和格式化程序?
更新官方网站上有一个示例: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
以包含自定义书面作者?
答案 0 :(得分: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>