Java Dropwizard默认回写模式

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接受一个日志事件并返回一个字符串。然而, 可以通过

如果未配置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
接受一个日志事件并返回一个
字符串
。然而, 可以通过调整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);
        }
    }