开发中,应对不同的业务场景,需要把日志分批保存,或分业务记录,这种时候就需要把日志输出到不同的文件中,@Slf4j注解式支持这样的配置的,具体的实现如下
在logback-spring.xml
配置文件中添加如下配置
具体代码如下
<appender name="MY-LOG-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名 -->
<FileNamePattern>../logs/other/log/mylog-%d{yyyy-MM-dd}_%i.log</FileNamePattern>
<!--日志文件保留天数 -->
<MaxHistory>365</MaxHistory>
<maxFileSize>10MB</maxFileSize>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class:%L - %msg%n</pattern>
</encoder>
</appender>
<logger name="mylog" level="INFO" additivity="false">
<appender-ref ref="MY-LOG-FILE"/>
</logger>
在业务代码中引用
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** 业务日志打印 */
private static Logger mylog = LoggerFactory.getLogger("mylog");
- 其中
getLogger("mylog")
中的mylog,需要与配置文件中的<logger>
中的name
属性对应,名字可以自定义
在需要输出日志的地方使用
mylog.info("日志信息");
mylog.warn("日志信息");
mylog.debug("日志信息");
mylog.error("日志信息");
© 版权声明
非商业转载或引用请标注本文链接,商业转载或引用请联系站长
部分文章内容可能来自互联网,如有侵权,请通过邮件联系
部分文章内容可能来自互联网,如有侵权,请通过邮件联系
THE END
暂无评论内容