Logback+sl4j之logback.xml配置

标签作用:
appender标签 控制日志输出的内容
logger标签 控制日志可进行打印的级别
root标签 是logger标签的父级,若logger标签中activity=false则logger不进行继承。

难点梳理:
日志五个级别TRANCE<DEBUG<INFO<WARN<ERROR
1. appender标签中的filter子标签控制的是过滤内容。若选择INFO级别,则TRANCE和DEBUG将被过滤掉。
2. root标签中的level属性,基本没作用。。。
3. logger标签和root标签下都可声明0或多个appender标签。若logger和root下都声明了同一个appender,那将会输出两遍日志内容。
4. logger标签中的level属性,控制的是可打印至文本的日志级别。
但是,若level属性的参数与yml配置文件中的配置不一致,将以yml为准。yml配置文件如下

logging:
  level:
    com.ruoyi: debug
    org.springframework: warn

重点:
1.日志最后输出的成品:先考虑appender下的filter的过滤等级。在考虑logger或root的level等级。
比如,filter选择过滤INFO级别的日志内容,logger选择输出DEBUG级别的日志内容,那最后输出到文件的只是INFO级别的日志内容。
原因:appender为我准备想要输出的内容,logger或root为我允许输入到文本上的内容(假设)。允许输出的级别再高但是没有准备也不能进行输出。
假设appender为我脑子里想的东西:数字1、2,logger和root为我允许写在的东西:数字1、2、3,那最后因为我只准备1、2两个数,所以输出结果只有1、2。

appender标签 示例

	<!-- 系统日志输出 -->
	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--	    <file>${log.path}/sys-info.log</file>-->
        <!-- 循环政策:基于时间创建日志文件 -->
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志文件名格式 -->
			<fileNamePattern>${log.path}/sys-info%d{yyyy-MM-dd}.log</fileNamePattern>
			<!-- 日志最大的历史 60天 -->
			<maxHistory>60</maxHistory>
		</rollingPolicy>
		<encoder>
			<pattern>${log.pattern}</pattern>
		</encoder>
		<filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!-- 过滤的级别 -->
            <level>DEBUG</level>
            <!-- 匹配时的操作:接收(记录) -->
            <onMatch>ACCEPT</onMatch>
            <!-- 不匹配时的操作:拒绝(不记录) -->
            <onMismatch>DENY</onMismatch>
        </filter>
	</appender>

logger标签示例

    <!--
        name 类名/包名
        additivity=true继承root,false不继承root
        logger - level 覆盖方式继承
        appender-ref   附加方式继承
    -->
    <logger name="com.ruoyi" level="debug"/>

root标签示例

	<root level="info">
		<appender-ref ref="console" />
	</root>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值