首页 > 其他分享 >框架——日志框架——logback——logback.xml

框架——日志框架——logback——logback.xml

时间:2022-10-02 19:57:17浏览次数:38  
标签:xml 框架 root app file 日志 logback

  为了便于使用,留存一份logback的配置文件。

  首先,需要在resources下创建logback文件夹,并存放以下三个文件,这是我的个人习惯,也可以都写在logback.xml中

  • logback.properties,用于定义变量
  • appender.xml,用于定义Appender对象
  • logger.xml,用于定义logger。

  创建logback.xml,引入其他三个文件。具体的配置如下:

1、logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- 配置debug属性,开启日志框架的调试模式 -->
<configuration debug="true">
	<!-- 定义contextName,项目名 -->
	<contextName>logback_study</contextName>
	<!-- 引入properties文件,定义变量 -->
	<property resource="logback/logback.properties" />
	<!-- 引入Appender,必须在logger之前 -->
	<include resource="logback/appender.xml" />
	<!-- 引入logger -->
	<include resource="logback/logger.xml" />
	<!-- 定义root logger -->
	<root level="info">
	  <appender-ref ref="console" />
  	  <appender-ref ref="file" />
	</root> 
</configuration>

2、Logback.properties

# 定义日志存放的目录
# 项目名称
app_name=logbackStudy
# 日志存放的根路径
file_root_dir=D:\\
# 当前项目日志存放的根路径
file_root_app_dir=${file_root_dir}\\${app_name}
# 历史日志文件存放的根路径
file_root_app_history_dir=${file_root_dir}\\${app_name}\\history

# 日志格式
# 默认的日志格式
default_pattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} %n
# console的日志格式
console_pattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %logger %n[%thread] %7level: %message %n
# fileAppender的日志格式
file_pattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %logger %n[%thread] %7level: %message %n

3、Appender.xml

<included>
	<!-- 定义输出控制台 ConsoleAppender -->
	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
		<!-- 包含1个encoder -->
		<encoder>
			<pattern>${console_pattern}</pattern>
		</encoder>
		<!-- 包含1个target,System.out 或者是System.err,默认为System.out -->
		<target>System.out</target>
		<!-- 包含1个 withJansi, 是否对不同级别的日志用颜色来区分 -->
		<withJansi>false</withJansi>
	</appender>

	<!-- 定义RollingFileAppender -->
	<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<!-- 设置日志文件的名称 -->
		<file>${file_root_app_dir}/${app_name}_log.txt</file>
		<!-- 设置是否追加在日志文件,该值默认为true -->
		<append>true</append>
		<!-- 设置immediateFlush -->
		<immediateFlush>true</immediateFlush>
		<!-- 设置rollingPolicy -->
		<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
			<!-- 指定fileNamePattern,定义日志文件或者是压缩包存放的位置,如果存在file属性,日志输出到file文件中,fileNamePattern存放日志压缩文件的路径 -->
			<fileNamePattern>${file_root_app_history_dir}/%d{yyyy/MM,aux}/%d{yyyy-MM-dd}_log%i.zip</fileNamePattern>
			<!-- 每个文件的大小 -->
			<maxFileSize>5MB</maxFileSize>
			<!-- 指定最大的历史,365天,对应fileNamePattern中的日期格式 -->
			<maxHistory>365</maxHistory>
			<!-- 日志文件的总大小,20GB -->
			<totalSizeCap>20GB</totalSizeCap>
		</rollingPolicy>
		<!-- 设置一个或者多个encoder -->
		<encoder>
			<pattern>${file_pattern}</pattern>
		</encoder>
	</appender>
</included> 

4、Logger.xml

<included>
	<!-- 定义logger -->
	<logger name="com.rain.test" level="debug" additivity="false">
		<appender-ref ref="console" />
		<appender-ref ref="file" />
	</logger>
</included>

标签:xml,框架,root,app,file,日志,logback
From: https://www.cnblogs.com/rain144576/p/16749306.html

相关文章

  • 轻量级Web框架Flask——Web表单
    安装Flask-WTF及其依赖可使用pip安装pipinstallflask_wtf配置要求应用配置一个密钥。密钥是一个由随机字符构成的唯一字符串,通过加密或签名以不同的方式提升应用的......
  • IntegratedGradients源码阅读---基于深度学习可解释性框架Captum
    首先,来到captum的github源码仓库地址是:https://github.com/pytorch/captum  captum是一个用pytorch写的,实现了很多深度学习可解释性方法的库。包括IntegratedGradie......
  • 004.讲解三种XML实例化Bean的配置方式
    1.基于构造方法实例化对象    2.基于静态工厂实例化对象3.基于工厂实例方法实例化对象 ......
  • 英语语法框架
    1.综述主语(subject)谓语(怎么样)人或物动作/发生了什么什么怎么样句子成分句子成分句子=主句+谓语基本句型主语+不......
  • jmeter测试rpc接口-使用dubbo框架调用
    1.下载用于测试dubbo的springboot项目参考文章:http://t.zoukankan.com/111testing-p-11297038.htmlhttps://zhuanlan.zhihu.com/p/539190478dubbo介绍:https://www.cn......
  • 测试用例框架——C语言
    测试用例框架——C语言目录测试用例框架——C语言1宏定义2初始化函数3测试的结果函数4状态测试函数5字符串的比较函数6值比较函数1宏定义staticintTestNum=......
  • mybatis-spring的pom.xml
    <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • repomd.xml signature could not be verified for kubernetes
    repo文件是CentOS中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将......
  • spring-dao.xml
    <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • 【mybatis框架学习】三、invoke方法逻辑编排
    上一篇一直有提高一个词,编排。都说编程,编程,编排也就容易理解了。 像我们常用的框架,spring、mybatis,都是将一些固有的流程,简化,抽象,编排起来,在留有可拓展的接口之后,全部......