jessyzhao
2013-08-23 16:32
浏览 1.6k
已采纳

logback写入日志的时候,日志文件总是空的

在用logback做日志组件的时候,日志文件可以正常生成,不过文件里面却总是什么都没有。
logback配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>

<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> 
    <encoder charset="UTF-8"> 
    <!--  显示毫秒数
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>-->
        <pattern>%d{HH:mm:ss} %-5level [%thread]  %logger - %msg%n</pattern>
    </encoder>
</appender> 
<appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">

    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>INFO</level>
    </filter>

    <!-- 可让每天产生一个日志文件,最多 10 个,自动回滚 -->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${user.dir}/logs/log-%d{yyyy-MM-dd}.log</fileNamePattern>
        <maxHistory>60</maxHistory>
    </rollingPolicy>

    <!-- 日志文件超过 5MB 时进行归档,并且归档文件后缀只要是 .zip 或 .gz 就会自动压缩日志归档 -->

    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
      <fileNamePattern>${user.dir}/logs/log.%i.log.zip</fileNamePattern>
      <minIndex>1</minIndex>
      <maxIndex>10</maxIndex>
    </rollingPolicy>

    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
      <maxFileSize>5MB</maxFileSize>
    </triggeringPolicy>

    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
    </encoder>
</appender>

<!-- 输出到控制台和文件,可定义更多的 Appender -->

<root level="INFO">
    <appender-ref ref="stdout" />
    <appender-ref ref="RollingFile"/>
</root>

<!-- 下面配置一些第三方包的日志过滤级别,用于避免刷屏 -->

<logger name="org.hibernate" level="WARN"/>
<logger name="org.springframework" level="WARN"/>
<logger name="com.opensymphony" level="WARN"/>
<logger name="org.apache" level="WARN"/>

<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="WARN"/>
<logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG"/>
<logger name="org.hibernate.SQL" level="INFO"/>
<logger name="org.hibernate.engine.QueryParameters" level="INFO"/>
<logger name="org.hibernate.engine.query.HQLQueryPlan" level="INFO"/>

<logger name="org.eclipse.jetty" level="WARN"/>
<logger name="org.jboss.netty" level="INFO"/>

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • _1_1_7_ 2013-08-23 17:42
    已采纳

    删除以下内容就可以了
    [code="xml"]<!-- 日志文件超过 5MB 时进行归档,并且归档文件后缀只要是 .zip 或 .gz 就会自动压缩日志归档 -->

        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
          <fileNamePattern>${user.dir}/logs/log.%i.log.zip</fileNamePattern> 
          <minIndex>1</minIndex> 
          <maxIndex>10</maxIndex> 
        </rollingPolicy> 
    
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
          <maxFileSize>5MB</maxFileSize> 
        </triggeringPolicy> 
    

    [/code]

    已采纳该答案
    打赏 评论
  • dyccsxg 2013-08-23 22:26

    楼上正解,
    可参考下这个 http://dyccsxg.iteye.com/blog/1908065

    打赏 评论

相关推荐 更多相似问题