slf4j-api整合maven 工程日志配置文件
springmvc项目
pom.xml:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
log.properties:
log.level=debug
log.path=../logs
配置文件logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10 seconds">
<property resource="log.properties"/>
<!-- 控制台输出 -->
<appender name="STDOUT"
class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<pattern>%d{yy-MM-dd HH:mm:ss.sss} [%thread] %-5level %logger \(%file:%line\) - %X{trackInfo} %msg%n</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
</appender>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名 -->
<FileNamePattern>${log.path}/log-%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数 -->
<MaxHistory>30</MaxHistory>
</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 %logger{50} -%msg%n</pattern> -->
<pattern>%d{yy-MM-dd HH:mm:ss.sss} [%thread] %-5level %logger - %X{trackInfo} %msg%n</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
<!--日志文件最大的大小 -->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>64MB</MaxFileSize>
</triggeringPolicy>
</appender>
<logger name="org.springframework" level="WARN" />
<logger name="org.mybatis" level="WARN"/>
<!-- 日志输出级别 -->
<root level="${log.level}">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
SpringBoot项目:
pom.xml:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
application.properties:
log:
path: ../logs
level: info
logback-spring.xml:
<!-- Logback configuration. See http://logback.qos.ch/manual/index.html -->
<configuration scan="true" scanPeriod="10 seconds">
<springProperty scope="context" name="logLevel" source="log.level"/>
<springProperty scope="context" name="logPath" source="log.path"/>
<!-- Simple file output -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>%d{yy-MM-dd HH:mm:ss.sss} [%thread] %-5level %logger - %X{trackInfo} %msg%n</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily 配置日志所生成的目录以及生成文件名的规则 -->
<fileNamePattern>${logPath}/log-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 64 MB -->
<maxFileSize>64 MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<!-- Console output -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoder defaults to ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>%d{yy-MM-dd HH:mm:ss.sss} [%thread] %-5level %logger \(%file:%line\) - %X{trackInfo} %msg%n</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
</appender>
<logger name="jndi" level="WARN" />
<logger name="org.eclipse" level="WARN" />
<logger name="org.springframework" level="WARN" />
<logger name="org.mongodb" level="WARN" />
<logger name="org.mybatis" level="WARN"/>
<root level="${logLevel}">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
<!-- For loggers in the these namespaces, log at all levels. -->
<logger name="pedestal" level="ALL" />
<logger name="hammock-cafe" level="ALL" />
<logger name="user" level="ALL" />
</configuration>
最新文章
- TransmitFile函数的简单使用
- 原生js文字标签云上下滚动播放
- eclipse搭建servlet项目
- eventProxy
- accp7.0优化MySchool数据库设计内测笔试题总结
- 自己封装的json工具类
- 提取安卓手机的recovery
- Working with MTD Devices
- JVM垃圾回收机制入门
- 傲梅分区助手专业版 v6.2 中文免费版
- QT Creator 快速入门教程 读书笔记(一)
- Web、WCF和WS通过Nginx共享80端口
- [LeetCode] Largest Number At Least Twice of Others 至少是其他数字两倍的最大数
- ASP.NET操作DataTable各种方法总结(给Datatable添加行列、DataTable选择排序等)
- Codeforces Round #525 (Div. 2)
- Mybatis学习总结(三)——SqlMapConfig.xml全局配置文件解析
- Linux shell命令 cp 加上-f还是提示是否覆盖
- maven项目里,junit的test程序不能访问src/test/resource下面的配置
- 为什么要使用JS模板引擎
- 51nod 1463 找朋友(线段树+离线处理)
热门文章
- zabbix4.2配置邮件+脚本报警:以QQ邮箱为例
- java.sql.SQLException: Field &#39;login_date&#39; doesn&#39;t have a default value解决方法
- CentOS 7 使用笔记
- (转载)Docker的boot2docker.iso镜像使用
- python入门(二十讲):爬虫
- android WebView缩放时卡顿问题
- PHP导出身份证号科学计数法
- 主席树 hdu 4348
- python基础 pyc
- ALSA lib基本概念