关于日志slf4j+logback&logback.xml配置
1.maven依赖
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<!-- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>-->
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
<!-- <scope>test</scope>-->
</dependency>
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-core -->
<!-- <dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>-->
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-access -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.2.3</version>
</dependency>
2.logback.xml
<?xml version="1.0" encoding="utf-8" ?>
<configuration debug="false"> <!--设置日志上下文名称,后面输出格式中可以通过定义 %contextName 来打印日志上下文名称-->
<contextName>sk-log</contextName>
<!--用来设置相关变量,通过key-value的方式配置,然后在后面的配置文件中通过 ${key}来访问-->
<property name = "sk.name" value ="test"></property> <!--======================================ConsoleAppender===================================================================-->
<!--日志输出组件,主要负责日志的输出以及格式化日志。 stdout:标准输出-->
<appender name ="stdout" class="ch.qos.logback.core.ConsoleAppender">
<!--定义了一个过滤器,在LEVEL之下的日志输出不会被打印出来 这个和logger里的level共同决定在stdout输出的级别(filter非必需的)
临界值过滤器,过滤掉低于指定临界值的日志。当日志级别等于或高于临界值时,过滤器返回NEUTRAL;当日志级别低于临界值时,日志会被拒绝。 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>debug</level>
</filter>
<!--级别过滤器,根据日志级别进行过滤。如果日志级别等于配置级别,过滤器会根据onMath 和 onMismatch接收或拒绝日志
<level>:设置过滤级别
<onMatch>:用于配置符合过滤条件的操作
<onMismatch>:用于配置不符合过滤条件的操作-->
<!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">-->
<!-- <level>debug</level>-->
<!-- <onMatch>ACCEPT</onMatch>-->
<!-- <onMismatch>DENY</onMismatch>-->
<!-- </filter>-->
<!-- encoder 默认配置为PatternLayoutEncoder -->
<!--定义控制台输出格式-->
<!--
%d{yyyy-MM-dd HH:mm:ss} 时间格式 hh是12h制 HH是24h制
[%thread] 线程
%-5level 级别
%logger{36} 日志包 36包长度
[%file : %line] 目标类 和 行数
%msg log信息
%n 换行
(encoder必需的)-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} [%file : %line] - %msg%n</pattern>
</encoder>
</appender> <!--==========================RollingFileAppender===============================================================================--> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--如果是 true,日志被追加到文件结尾,如果是 false,清空现存文件,默认是true
but 我加了之后 警告 Append mode is mandatory for RollingFileAppender. Defaulting to append=true. 我还是不加了-->
<!-- <append>false</append>--> <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>trace</level>
</filter>
<!--rollingPolicy没写的话 会有警告 No TriggeringPolicy was set for the RollingFileAppender named file 没有输出本地文件-->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>E:/logDemo1/${sk.name}.log.%i.%d{yyyy-MM-dd}</fileNamePattern>
<!--30d周期-->
<maxHistory>30</maxHistory>
<!--每个文件最大10M-->
<maxFileSize>10MB</maxFileSize>
</rollingPolicy> <encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} [%file : %line] - %msg%n</pattern>
</encoder>
</appender> <!--=========================================================================================================--> <!--root是默认的logger 这里没设定输出级别-->
<root>
<!--定义了appender,日志会通过往appender里面写-->
<appender-ref ref="stdout"/>
<appender-ref ref="file"/>
</root> <!--==================================指定包的日志======================================================-->
<!--这个logger没有指定appender,它会继承root节点中定义的那些appender -->
<logger name="com.sk" level="info">
<!-- <appender-ref ref="stdout"/>-->
</logger> <!--通过 LoggerFactory.getLogger("Test3") 可以获取到这个logger
additivity="false" 没有它 输出双倍 自身的和继承的root的appender-->
<logger name="Test3" level="trace" additivity="false">
<appender-ref ref="stdout"/>
<appender-ref ref="file"/>
</logger> <!--由于设置了 additivity="false" ,所以输出时不会使用rootLogger的appender-->
<!--但是这个logger本身又没有配置appender,所以使用这个logger输出日志的话就不会输出到任何地方-->
<!-- <logger name="Test3" level="trace" additivity="false"></logger>--> </configuration>
在idea上的截图。。。(长截图真好)

3.Test

关于日志slf4j+logback&logback.xml配置的更多相关文章
- 使用logback.xml配置来实现日志文件输出
转自:http://sungang-1120.iteye.com/blog/2104296 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback- ...
- java日志组件介绍(common-logging,log4j,slf4j,logback )
转自:http://www.blogjava.net/daiyongzhi/archive/2014/04/13/412364.html common-logging是apache提供的一个通用的日志 ...
- 【转】logback logback.xml常用配置详解(二)<appender>
原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...
- 【转】logback logback.xml常用配置详解(一)<configuration> and <logger>
原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...
- lombok+slf4j+logback SLF4J和Logback日志框架详解
maven 包依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lomb ...
- 转:java日志组件介绍(common-logging,log4j,slf4j,logback )
原网址:http://www.blogjava.net/daiyongzhi/archive/2014/04/13/412364.html common-logging common-logging是 ...
- logback.xml配置
一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文 ...
- java日志,(commons-loging 、log4j 、slf4j 、LogBack介绍)
如果对于commons-loging .log4j .slf4j .LogBack 等都已经非常清楚了,可以忽略本文.几次解决日志冲突问题时对这几个概念的简单总结,希望对这块基础没有理解透的同学能有所 ...
- logback logback.xml 常用配置详解
一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文 ...
- (转)Spring boot——logback.xml 配置详解(二)
文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 1 根节点<configuration>包含的属性 scan: 当此属性设置为t ...
随机推荐
- DRF-视图类组件
补充 GET books-------->查看数据--------------------> 返回所有数据列表 :[{},{},{}] POST books-------->添加数 ...
- codeforces722E
CF722E Research Rover Unfortunately, the formal description of the task turned out to be too long, s ...
- sick 激光
sick10:TiM561-2050101https://www.sick.com/cn/zh/detection-and-ranging-solutions/2d-lidar-/tim5xx/tim ...
- Echarts案例-折线图
一:先在官网下载 https://www.echartsjs.com/zh/download.html 然后再建立工程,导入这两个包: 写代码: <!DOCTYPE html> <h ...
- 安装使用VUE
安装使用VUE 如果是简单实用vue的话,可以直接引用js文件. https://vuejs.org/js/vue.js 但是在构建大型项目的时候推荐使用NPM安装,NPM能够很好的和诸如webpac ...
- 感知机和BP神经网络
一.感知机 1.感知机的概念 感知机是用于二分类的线性分类模型,其输入是实例的特征向量,输出是实例的类别,类别取+1和-1二个值,+1代表正类,-1代表负类.感知机对应于输入空间(特征空间)中将实例分 ...
- REGIONAL SCRUM GATHERING(RSG)2019 CHINA.
欢迎参加 REGIONAL SCRUM GATHERING(RSG)2019 CHINA. 今年RSG将于2019年8月23号~24号,在北京新世界酒店举办.在为期2天的敏捷大会中,将有接近40位国内 ...
- arcgis的arcpy写入几何怎么创建一个空心面要素并读取几何和属性信息,根本不够管
转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/83861447 这个我是没找到这 ...
- Flutter移动电商实战 --(25)列表页_使用Provide控制子类-1
主要是二级分类的UI布局 生成我们的右侧动态类 定义list变量 开始写里面的子项,把每一个小的写了 再拼成一个大的 这样我们的小类就写完了 开始写我的大类别:是一个横向的ListView.写横向的L ...
- hashMap 底层原理+LinkedHashMap 底层原理+常见面试题
1.源码 java1.7 hashMap 底层实现是数组+链表 java1.8 对上面进行优化 数组+链表+红黑树 2.hashmap 是怎么保存数据的. 在hashmap 中有这样一个结构 ...