logback.xml文件解析

项目中使用了logback.xml配置,

具体详细解释可以看如下解释:

<?xml version="1.0" encoding="UTF-8" ?>

	<!--1、根节点<configuration>,包含下面三个属性:-->
	<!--scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。-->
	<!--scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。-->
	<!--debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。-->
<configuration scan="true" scanPeriod="30 seconds">
	<!--子节点<property>:用来定义变量值,它有两个属性name和value,通过<property>定义的值会被插入到logger上下文中,可以使“${}”来使用变量。-->
	<!--name: 变量的名称-->
	<!--value: 的值时变量定义的值-->
	<property name="z_app" value="app"/>

	<property name="SQL_LEVEL" value="INFO"/>
	<property name="SERVICE_LEVEL" value="ERROR"/>
	<property name="RPC_LEVEL" value="ERROR"/>
	<property name="BOOT_LEVEL" value="DEBUG"/>
	<property name="BUF_LEVEL" value="DEBUG"/>

	<property name="SQL_LOG_FILE" value="${ZSMART_HOME}/logs/${z_app}/${z_app}Sql.log"/>
	<property name="SERVICE_LOG_FILE" value="${ZSMART_HOME}/logs/${z_app}/${z_app}Service.log"/>
	<property name="RPC_LOG_FILE" value="${ZSMART_HOME}/logs/${z_app}/${z_app}RPC.log"/>
	<property name="BOOT_LOG_FILE" value="${ZSMART_HOME}/logs/${z_app}/${z_app}Boot.log"/>
	<property name="BUF_LOG_FILE" value="${ZSMART_HOME}/logs/${z_app}/${z_app}Buf.log"/>
	<property name="TRACE_LOG_FILE" value="${ZSMART_HOME}/logs/${z_app}/${z_app}Trace.log"/>

	<include resource="log/logback-base.xml" />

	<property name="ROOT_LEVEL" value="INFO"/>

	<property name="APP_LOG_FILE" value="${ZSMART_HOME}/logs/${z_app}/${z_app}.log"/>
	<!--5、子节点<appender>:负责写日志的组件,它有两个必要属性name和class。name指定appender名称,class指定appender的全限定名-->
	<appender name="APP_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<!--<encoder>:对日志进行格式化。(具体参数稍后讲解 )-->
		<encoder>
			<charset>utf-8</charset>
			<pattern>${PATTERN}</pattern>
		</encoder>
		<!--<prudent>:如果是 true,日志会被安全的写入文件,即使其他的FileAppender也在向此文件做写入操作,效率低,默认是 false。-->
		<prudent>false</prudent>
		<!--<append>:如果是 true,日志被追加到文件结尾,如果是 false,清空现存文件,默认是true。-->
		<append>true</append>
		<!--<file>:被写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值。-->
		<file>${APP_LOG_FILE}</file>
		<!--<rollingPolicy>:当发生滚动时,决定RollingFileAppender的行为,涉及文件移动和重命名。属性class定义具体的滚动策略类-->
		<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
			<!--<fileNamePattern>:必要节点,包含文件名及“%d”转换符,“%d”可以包含一个java.text.SimpleDateFormat指定的时间格式,如:%d{yyyy-MM}。-->
			<fileNamePattern>${APP_LOG_FILE}.%d{yyyy-MM-dd}-%i.gz</fileNamePattern>
			<!--<maxFileSize>:这是活动文件的大小,默认值是10MB。-->
			<maxFileSize>10MB</maxFileSize>
			<!--可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件。假设设置每个月滚动,且<maxHistory>是6,则只保存最近6个月的文件,删除之前的旧文件。注意,删除旧文件是,那些为了归档而创建的目录也会被删除。-->
			<maxHistory>15</maxHistory>
			<totalSizeCap>200MB</totalSizeCap>
		</rollingPolicy>
	</appender>
	<!--子节点<loger>:用来设置某一个包或具体的某一个类的日志打印级别、以及指定<appender>。<loger>仅有一个name属性,一个可选的level和一个可选的addtivity属性。-->
	<logger name="com.ztesoft.zsmart.core.security.data.jackson.ObjectMapperProvider" level="info"/>
	<!--子节点<root>:它也是<loger>元素,但是它是根loger,是所有<loger>的上级。只有一个level属性,因为name已经被命名为"root",且已经是最上级了。-->
	<!--level: 用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF,不能设置为INHERITED或者同义词NULL。 默认是DEBUG。-->
	<!--root 的日志级别配置的为 info,但是却输出 debug 级别的日志信息,所以从测试结果可以看出,向上传递的日志信息的日志级别将由最底层的子元素决定(最初传递信息的 logger),因为子元素设置的日志级别为 debug,所以也输出了 debug 级别的信息。-->
	<root level="${ROOT_LEVEL}">
		<!-- <appender-ref ref="APP_LOG" /> -->
		<appender-ref ref="CONSOLE" />
	</root>
</configuration>

 

参考:https://blog.csdn.net/hellolovelife/article/details/78230177

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值