服务器要记录全部的日志,这些日志输入到一个文件中太大了,就须要按大小和时间还分割,好比每小时产生一个文件或当文件大小大于200MB的时候生成一个文件。服务器
初版这样版本,可是服务器启动以后没有生成日志文件:app
<appender name="CONSOLE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.home}/consolelogs/console.log</file> <append>true</append> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- daily rollover --> <fileNamePattern>${log.home}/consolelogs/console.%d{yyyy-MM-dd_HH}.log </fileNamePattern> <maxHistory>72</maxHistory> <maxFileSize>200MB</maxFileSize> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss} %-5level [%thread][%file:%line] : %msg%n </pattern> </encoder> </appender>
这个配置原来是参考 ch.qos.logback.core.rolling.TimeBasedRollingPolicy 这个按时间滚动方式配置的。spa
之因此没有生效,是由于一个结节没有配置上。日志
<appender name="CONSOLE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.home}/consolelogs/console.log</file> <append>true</append> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- daily rollover --> <fileNamePattern>${log.home}/consolelogs/console.%d{yyyy-MM-dd_HH}.%i.log //这里面的%i不能少 </fileNamePattern> <maxHistory>72</maxHistory> <maxFileSize>200MB</maxFileSize> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss} %-5level [%thread][%file:%line] : %msg%n </pattern> </encoder> </appender>
上面在时间配置以后,有一个%i,这个绝对不能少。要否则在同一个小内产生多个日志文件就没办法区分了,这个i就是为了产生一个序号,防止日志文件覆盖。code