常用logback.xml配置文件详解

选择logback的理由

logbacklog4j的简单对比一下:
1.首先,对于同样的代码路径,logback使用起来更快。
2.logback原生实现了log4j的api,而log4j中间还需要一个转换层。
3.有更丰富的文档,支持xml的和group的配置。
4.对配置文件的在项目启动中,可以热加载。
5.可以自动对日志进行归档,可以对日志进行归档,可以自动压缩日志成为归档文件。
6.支持更多的过滤器和参数化输出。

操作

1.引入依赖xml

		<!-- logback -->
				    <dependency>
				      <groupId>ch.qos.logback</groupId>
				      <artifactId>logback-core</artifactId>
				      <version>1.1.8</version>
				    </dependency>
				    <dependency>
				      <groupId>ch.qos.logback</groupId>
				      <artifactId>logback-classic</artifactId>
				      <version>1.1.8</version>
				    </dependency>
				    <dependency>
				      <groupId>org.slf4j</groupId>
				      <artifactId>slf4j-api</artifactId>
				      <version>1.7.22</version>
				    </dependency>

2.创建logback.xml

	<?xml version="1.0" encoding="UTF-8"?>
	<configuration scan="true" scanPeriod="60 seconds">
	
	    <!--日志输入到控制台-->
	    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
	        <encoder>
	            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
	        </encoder>
	    </appender>
	
	    <!--<appender name="permission" class="ch.qos.logback.core.rolling.RollingFileAppender">-->
	    <!--<file>${catalina.home}/logs/permission.log</file>-->
	    <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
	    <!--<FileNamePattern>${catalina.home}/logs/permission.%d{yyyy-MM-dd}.log.gz</FileNamePattern>-->
	    <!--</rollingPolicy>-->
	    <!--<layout class="ch.qos.logback.classic.PatternLayout">-->
	    <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>-->
	    <!--</layout>-->
	    <!--</appender>-->
	    <!---->
	    <!--<logger name="xxx" level="INFO">-->
	    <!--<appender-ref ref="permission"/>-->
	    <!--</logger>-->
	
	    <!-- TRACE < DEBUG < INFO < WARN < ERROR -->
	    <root level="INFO">
	        <appender-ref ref="STDOUT" />
	    </root>
	
	</configuration>

注:
configuration里面定义参数:scan、scanPeriod等
1.scan="true" 配置文件发生改变时会重新加载。
2.scanPeriod设置时间间隔,当为scan="true"时才会生效 。
例如:scanPeriod="60 seconds"

3.appender:日志输出形式,可以定义多个 。
STDOURT :标准化输出 class="ch.qos.logback.core.ConsoleAppender" :控制台输出
标准日志格式输出:

		 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
		        <encoder>
		            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
		        </encoder>
		    </appender>

解释:
%d{yyyy-MM-dd HH:mm:ss.SSS}:时间
[%thread]:进程
%-5level:级别从做显示5个宽度
%logger:日志名称
%msg%:具体的msg

自定义名字和路径记录日志:

		 <appender name="permission" class="ch.qos.logback.core.rolling.RollingFileAppender">
	    <file>${catalina.home}/logs/permission.log</file>
	    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
	    <FileNamePattern>${catalina.home}/logs/permission.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
	    </rollingPolicy>
	    <layout class="ch.qos.logback.classic.PatternLayout">
	    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
	    </layout>
	    </appender>

解释:

  1. <file>${catalina.home}/logs/permission.log</file>代表路径在Catalina.home的文件夹下面的logs文件夹下面打印出日志permission.log的日志。
    2.其他的与上面相似

4.logger:日志,可以是类名,也可以是其他、名称,最后返回appender输出。
5.root:只能有一个,日志的级别:从小到大的排序:TRACE < DEBUG < INFO < WARN < ERROR

 		<root level="INFO">
	        <appender-ref ref="STDOUT" />
	    </root>

与appender联系起来

这是我在项目中碰见的,所以就当做个笔记,如果有用,大家可以看看,没有用就算了吧。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值