Logback笔记

1.根节点:<configuration>

scan:设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true

scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出单位,默认单位是毫秒。当scan为true时,此属性生效。默认时间间隔为1分钟。

debug:此属性设置为true时,将打印logback内部日志信息,实时查看logback运行状态。默认值为false

<configuration scan="true" scanPeriod="60 seconds" debug="false"> 
    
</configuration> 
2.子节点:<property>

用来定义变量值,通过<property>定义的值会被插入到logger上下文中,可以使用${}使用

name:变量的名称

value:变量定义的值

<configuration scan="true" scanPeriod="60 seconds" debug="false"> 
   <property name="name" value="豆豆" /> 
   
   <contextName>${APP_Name}</contextName> 
   
</configuration>
3.子节点:<appender>

负责写日志的组件

name:指定appender名称

class:指定appender的全限定名

  • ConsoleAppender:把日志输出到控制台

    • <encoder>:对日志进行格式化
    • <target>:字符串System.out(默认)或者System.err
  • FileAppender:把日志添加到文件

    • <file>:被写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值(文件目录)
    • <encoder>:对记录事件进行格式化
    • <prudent>:如果是true,日志会被安全的写入文件,及时其他的FileAppender也在向此文件做写入操作,效率低,默认是false
  • RollingFileAppender:滚动记录文件,将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件

    • <file>:被写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值

    • <append>:如果是true,日志被追加到文件结尾,如果是false,清空现存文件,默认为true

    • <rollingPolicy>:当发生滚动时,决定RollingFileAppender的行为,涉及文件移动和重命名。属性class定义具体的滚动策略类

      class=“ch.qos.logback.core.rolling.TimeBasedRollingPolicy”:最常用的滚动策略,根据事件来制定滚动策略

      • <fileNamePattern>:必要节点,包含文件名以及"%d"转换符,%d可以包含一个java.text.SimpleDateFormat指定的时间格式,如:%d{yyyy-MM-dd}
      • <maxHistory>:控制保留的文档文件最大数量,超出数量就删除旧文件
      • <maxFileSize>:指定活动文件大小的最大值,默认值时10MB

      注意:RollingFileAppender的file可有可无,通过设置file,可以为活动文件和归档文件指定不同位置,当前日志总是记录到file指定的文件(活动文件),活动文件的名字不会改变

      ​ 如果没设置file,活动文件的名字会根据fileNamePattern的值,每隔一段时间改变一次。"/“或”"会被当做目录分隔符。

4.子节点<loger>

设置某一个包或某个类的日志打印级别、以及指定<appender>

name:指定受此loger约束的某一个包或者具体的某个类

level:设置打印级别,大小写无关

addtivity:是否向上级loger传递打印信息。默认是true

5.子节点<root>

level:设置打印级别,大小写无关

  • <appender-ref>:标识这个appender将会添加到这个loger
properties配置
# 应用自定义配置
logging.config=classpath:logback.xml
java代码
public class Test {
private final static Logger logger = LoggerFactory.getLogger(Test.class);

  public static void main(String[] args) {
      logger.info("logback 成功了");
      logger.error("logback 成功了");
      logger.debug("logback 成功了");
  }
}
logback.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration>

	<!-- 文件输出格式 -->
	<property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
	<!-- test文件路径 -->
	<property name="TEST_FILE_PATH" value="C:\Users\JMB125\Desktop\笔记" />
	<!-- pro文件路径 -->
	<property name="PRO_FILE_PATH" value="/opt/doudou/logs" />

	<!-- 开发环境 -->
	<springProfile name="dev">
		<!--将日志打印到控制台-->
		<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
			<encoder>
				<pattern>${PATTERN}</pattern>
			</encoder>
		</appender>

		<logger name="com.doudou" level="debug"/>

		<root level="info">
			<appender-ref ref="CONSOLE" />
		</root>
	</springProfile>

	<!-- 测试环境 -->
	<springProfile name="test">
		<!-- 每天产生一个文件 -->
		<appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
			<!-- 文件路径 -->
			<file>${TEST_FILE_PATH}</file>
			<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
				<!-- 文件名称 -->
				<fileNamePattern>${TEST_FILE_PATH}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
				<!-- 文件最大保存历史数量 -->
				<MaxHistory>100</MaxHistory>
			</rollingPolicy>

			<!--对日志进行格式化输出-->
			<layout class="ch.qos.logback.classic.PatternLayout">
				<pattern>${PATTERN}</pattern>
			</layout>

			<!--日志文件最大的大小-->
			<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
				<MaxFileSize>10MB</MaxFileSize>
			</triggeringPolicy>

		</appender>

		<!--指定最基础的日志输出级别 level用来设置打印级别-->
		<root level="info">
			<appender-ref ref="TEST-FILE" />
		</root>
	</springProfile>

	<!-- 生产环境 -->
	<springProfile name="prod">
		<appender name="PROD_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
			<file>${PRO_FILE_PATH}</file>
			<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
				<fileNamePattern>${PRO_FILE_PATH}/warn.%d{yyyy-MM-dd}.log</fileNamePattern>
				<MaxHistory>100</MaxHistory>
			</rollingPolicy>
			<!--输出设置-->
			<layout class="ch.qos.logback.classic.PatternLayout">
				<pattern>${PATTERN}</pattern>
			</layout>
		</appender>

		<root level="warn">
			<appender-ref ref="PROD_FILE" />
		</root>
	</springProfile>
</configuration>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值