slf4j 基于 logback 单独打印性能日志到另外一个文件
logback.xml
添加性能日志
<appender name="PERF" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME}/perf.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/perf-%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%msg</pattern>
</encoder>
</appender>
<logger name="performance" level="INFO" additivity="false">
<appender-ref ref="PERF" />
</logger>
调试代码:
private static final org.slf4j.Logger perf = LoggerFactory.getLogger("performance");
long current = System.currentTimeMillis();
。。。。。。业务代码...............
perf.info("系统启动耗时{}毫秒", System.currentTimeMillis() - current);
日志输出注意事项:
日志输出中,字符串变量拼接,使用占位符的方式。
log.info('新增,用户信息:{}’,name); 正确写法
log.info('新增,用户信息:’+name); 错误写法
打印error日志应该包含简短信息和异常堆栈信息。
log.error("错误:{}",e.getMessage(),e); 推荐写法
log.error("错误:{}",e.getMessage()); e.printStackTrace(); 避免这种写法;