2014-12-25 62 views
0

我试图创建的logback自定义布局,使用链接,广东话能够APPY <pattern>在logback.xml

Creating a custom layout in Logback

,我成功地创建日志文件。

问题是,当我申请在这样logback.xml的编码器标签“模式”标签,

<appender name="appLogFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <fileNamePattern>C:/tmp.log</fileNamePattern> 
     </rollingPolicy> 

**<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"> 
      <pattern> %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> 
      <layout class="com.dces.util.LoggingConsoleLayout" /> 
     </encoder> 
    </appender>** 

它不应用于日志文件,该文件被创建,并且我没有收到最新内容&时间如下。

- [错误] main.java.com.srccodes.log.LogbackHello - 欢迎使用Logback的HelloWorld示例。 - [错误] main.java.com.srccodes.log.LogbackHello - 虚拟错误消息。

实际上,如果我在编码器标记中删除class =“ch.qos.logback.core.encoder.LayoutWrappingEncoder”,模式正在工作,但我的自定义布局不起作用。

我想申请模式标签以及对编码器tag.Is定制布局标签是可能的吗?

任何人都可以帮助我吗?

回答

1

正如您从链接中看到的,默认编码器是PatternLayoutEncoder,它支持模式。如果你真的想拥有这两个功能,你可以尝试子类化LayoutWrappingEncoder并自己添加模式功能(或者可能有一些聪明的组合)。