最近在项目中打算采用Logback框架替代原有的log4j,配置起来不难。添加一个logback-spring.xml就,内容中包含了写日志信息到文件的部分
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.path}</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>file.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 保存前7天的日志文件 --> <maxHistory>7</maxHistory> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern> <charset>UTF-8</charset> </encoder> </appender>
设置root的级别为info,指定特殊包比如controller包的级别为debug。运行之后发现并没有记录debug信息,一直找不到解决方法。重新检查代码的时候发现,原来为了记录每个controller中的方法执行情况,做了一个AOP类,在该类中采用around的方式来记录方法执行数据。该AOP类并没有包含在controller包中,于是在配置中加入了AOP类所在的包。运行之后,顺利的看到了debug信息。