之前接手了一个项目,log和运行信息都在一个log文件里,并且项目有定时任务,导致日志出现了大量垃圾信息,使得找自己的log很困难,网上查询了很多资料,我整理了一个自定义输出的日志配置。
logback配置:
<appender name="lipstick"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOGPATH}${file.separator}/lipstick/%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss} [%F:%L] %-5level - %msg%n</pattern>
</encoder>
</appender>
<logger name="Aclasslog" additivity="false">
<appender-ref ref="lipstick"/>
</logger>
关于里面的标签详解一篇文章查看
类配置:
private static Logger log = LoggerFactory.getLogger("Aclasslog");
保持JAVA代码实例标签MONITOR和配置文件中的LOGGER NAME属性一致即可。
使用的时候直接用
log.info("===info===");
通过如上代码的实现,就可以看到我们输出的INFO文件是独立的 并且没有系统的任何信息 都是自己指定输出的内容。