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个回答

删除以下内容就可以了
[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]

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐