logbak学习日志

hap日志文件介绍

hap采用的是logback开源日志,可以去网上看看相关的知识

主要介绍我们系统相关的配置文件logback.xml

<configuration scan="true" scanPeriod="3 seconds">
<!--scan标识配置文件变更后是否重新加载
sacanPeriod检测配置文件是否有修改时间间隔
debug:默认为false。作用:当此属性为true时,将打印出logback内部日志信息,实时查看logback运行状态。-->
<property name="log.path" value="I:\\apache-tomcat-9.0.8\\hsspLogs"/>
<property name="log.level" value="debug"/>
<!--子节点<property>:用来定义变量值,有两个属性name和value。-->
<appender name="DASEINTFOUT" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/intfout.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%X{userId}] [%X{requestId}] %logger - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/intfout.log.%d{yyyy-MM-dd.HH}</fileNamePattern>
</rollingPolicy>
</appender>
<!--name:指定appender名称
class:指定appender的全限定名
class="ch.qos.logback.core.FileAppender":把日志添加到文件,有以下子节点:
<file>:被写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值。<append>:默认为true。如果是true,日志被追加到文件结尾,如果是false,清空现存文件。 <encoder>:对记录事件进行格式化。
<prudent>:默认为false。如果是true,日志会被安全的写入文件,即其他的FileAppender也在向此文件做写入操作,效率低。
class="ch.qos.logback.core.rolling.RollingFileAppender":滚动记录文件,先将日志文件指定到文件,
当符合某个条件时,将日志记录到其他文件。有以下子节点:
<file>:被写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值。
<append>:默认为true。如果是 true,日志被追加到文件结尾,如果是 false,清空现存文件。
<rollingPolicy>:当发生滚动时,决定RollingFileAppender的行为,涉及文件移动和重命名。属性class定义具体的滚动策略类。  
<triggeringPolicy >: 告知 RollingFileAppender 合适激活滚动。
<encoder>:对记录事件进行格式化。负责两件事:
1)是把日志信息转换成字节数组,
2)是把字节数组写入到输出流。PatternLayoutEncoder 是唯一有用的且默认的encoder。有一个节点:<pattern>节点,
用来设置日志的输入格式。使用“%”加“转换符”方式,如果要输出“%”,则必须用“\”对“\%”进行转义。
-->

<appender name="aDASEINTFOUT" class="ch.qos.logback.classic.AsyncAppender"><appender-ref ref="DASEINTFOUT"/></appender>

<logger name="org.activiti.engine" level="${log.level}" additivity="false"><appender-ref ref="aactiviti"/></logger>
<!--
子节点<logger>:用来设置某一个包或具体的某一个类的日志打印级别、以及指定<appender>。
<logger>仅有一个name属性,一个可选的level和一个可选的addtivity属性。可以包含零个或多个
<appender-ref>元素,标识这个appender将会添加到这个logger。
name: 用来指定受此logger约束的某一个包或者具体的某一个类。
level: 用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF,还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。
如果未设置此属性,那么当前logger将会继承上级的级别。addtivity: 是否向上级logger传递打印信息。默认是true。同<logger>一样,
可以包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个logger。
-->
<logger name="com.hand.hssp.api" level="${log.level}" additivity="false"><appender-ref ref="aDASEINTFOUT"/></logger>

<root level="${log.level}"><appender-ref ref="aSTDOUT"/></root>
<!--
子节点<root>:它也是<logger>元素,但是它是根logger,是所有<logger>的上级。只有一个level属性,因为name已经被命名为"root",且已经是最上级了。
有一个属性:level: 用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF,不能设置为INHERITED或者同义词NULL。 默认是DEBUG。
-->
</configuration>

猜你喜欢

转载自www.cnblogs.com/jiangxuzheng-0708/p/12078426.html