Logback不从logger输出到文件

时间:2014-11-11 09:55:46

标签: java logging

我有以下logback XML配置,但是当我加载我的记录器时:

private static final Logger LOGGER = (Logger) LoggerFactory.getLogger("com.nordea.icelink.adaptiv");

并通过dooing进行信息记录

LOGGER.info(s);

只有在控制台上没有输出到文件?怎么会这样?

<configuration>
<logger name="org.springframework" level="WARN"/>
<logger name="org.eclipse.jetty" level="WARN"/>

<logger name="com.nordea.icelink.adaptiv" level="info">
    <appender-ref ref="FILE"/>
</logger>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>../logs/NordeaIceLinkServer.log</file>
<encoder>
  <pattern>%date{YYYY-MM-dd HH:mm} %logger{36} %level %msg%n</pattern>
</encoder>  
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
      <fileNamePattern>../logs/NordeaIceLinkServer.%i.log.zip</fileNamePattern>
      <minIndex>1</minIndex>
      <maxIndex>3</maxIndex>
 </rollingPolicy>
  <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
      <maxFileSize>10MB</maxFileSize>
  </triggeringPolicy>   
  </appender>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
  <pattern>%logger{36} %level %msg%n</pattern>
</encoder>

<root level="debug">
  <appender-ref ref="STDOUT"/>
 </root>
</configuration>

2 个答案:

答案 0 :(得分:0)

您不应该使用日志文件的相对路径。

<file>../logs/NordeaIceLinkServer.log</file>

改为使用绝对值。

<file>/path/logs/NordeaIceLinkServer.log</file>

答案 1 :(得分:0)

实际上必须在记录器之前创建appender。然后它奏效了。