Java Dropwizard默认回写模式
如果未配置logFormat,是否有人知道Dropwizard 0.7.1日志记录的默认格式模式 我需要像这样的东西:Java Dropwizard默认回写模式,java,logback,dropwizard,Java,Logback,Dropwizard,如果未配置logFormat,是否有人知道Dropwizard 0.7.1日志记录的默认格式模式 我需要像这样的东西: %d{HH:mm:ss.SSS} %-5level [%X{id}] [%X{format}] [%thread]: %class{0}::%method:%line - %msg%n Logback使用的doLayout()方法的实现将日志事件转换为可以输出的字符串,如中所述。到(这又是的扩展): PatternLayout接受一个日志事件并返回一个字符串。然而, 可以通过
%d{HH:mm:ss.SSS} %-5level [%X{id}] [%X{format}] [%thread]: %class{0}::%method:%line - %msg%n
Logback使用的
doLayout()方法的实现将日志事件转换为可以输出的字符串,如中所述。到(这又是的扩展):
PatternLayout
接受一个日志事件并返回一个字符串
。然而,
可以通过调整PatternLayout的转换来自定义此字符串
模式
它的作用是:
确保禁用outputPatternAsHeader
,这是一个用于输出任何日志顶部所需字符串模式的标志。确认使用的模式的一种方法是在appender上启用此标志,如中所述
覆盖许多与打印相关的异常,以使用以感叹号作为堆栈跟踪前缀的异常
使用传入的时区,将模式设置为“%-5p[%d{ISO8601,”+timeZone.getID()+“}]%c:%m%n%rEx”
。如果没有明确添加时区信息,则logback将使用JVM的时区,或者使用GMT。如果可以接受,则可以使用%d
,因为默认格式为ISO8601
设置上下文
根据源代码io.dropwizard.logging.DropwizardLayout
,它是%-5p[%d{ISO8601,“+timeZone.getID()+”}]%c:%m%n%rEx
。由于我不确定时区以及setPattern之前的其他行是否相关,所以将此作为注释。@user3280180-如果问题已解决,请标记答案。
public class DropwizardLayout extends PatternLayout {
public DropwizardLayout(LoggerContext context, TimeZone timeZone) {
super();
setOutputPatternAsHeader(false);
getDefaultConverterMap().put("ex", PrefixedThrowableProxyConverter.class.getName());
getDefaultConverterMap().put("xEx", PrefixedExtendedThrowableProxyConverter.class.getName());
getDefaultConverterMap().put("rEx", PrefixedRootCauseFirstThrowableProxyConverter.class.getName());
setPattern("%-5p [%d{ISO8601," + timeZone.getID() + "}] %c: %m%n%rEx");
setContext(context);
}
}