【spring】--- logback.xml日志的使用

1.需要的相关pom依赖;

<slf4j.version>1.7.5</slf4j.version>
<logback.version>1.0.13</logback.version>

 
<!-- ################ 日志框架 begin ############### -->
        <!-- slf4j -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>

        <!-- logback -->
<!--        <dependency>-->
<!--            <groupId>ch.qos.logback</groupId>-->
<!--            <artifactId>logback-core</artifactId>-->
<!--            <version>${logback.version}</version>-->
<!--        </dependency>-->

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>${logback.version}</version>
        </dependency>

<!--        <dependency>-->
<!--            <groupId>ch.qos.logback</groupId>-->
<!--            <artifactId>logback-access</artifactId>-->
<!--            <version>${logback.version}</version>-->
<!--        </dependency>-->
        <!-- ################ 日志框架 end ############### -->

2.logback.xml文件;

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

	<!-- 日志文件输出到目录 -->
	<property name="LOG_DIR" value="${catalina.base}/Logs" />

	<!-- 日志文件前缀 -->
	<property name="LOG_PREFIX" value="appname" />

	<!-- 默认日志输出格式 -->
	<property name="LOG_MSG"
			  value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p [%c-%L] - %m%n" />


	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
		<encoder>
			<pattern>${LOG_MSG}</pattern>
		</encoder>
	</appender>

	<!-- DEBUG日志输出 -->
	<appender name="DEBUG_LOG"
			  class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${LOG_DIR}/${LOG_PREFIX}_debug.log</file>
		<!-- 临界值过滤器,过滤掉低于debug的日志-->
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>DEBUG</level>
		</filter>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${LOG_DIR}/${LOG_PREFIX}_debug.%d{yyyy-MM-dd}.log
			</fileNamePattern>
		</rollingPolicy>
		<encoder>
			<pattern>${LOG_MSG}</pattern>
		</encoder>

	</appender>

	<!-- INFO日志输出 -->
	<appender name="INFO_LOG"
			  class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${LOG_DIR}/${LOG_PREFIX}_info.log</file>
		<!-- 使用过滤器,仅仅接收info日志级别的信息到info日志,高于该级别的日志,也不进入 -->
		<filter class="ch.qos.logback.classic.filter.LevelFilter">
			<level>INFO</level>
			<onMatch>ACCEPT</onMatch>
			<onMismatch>DENY</onMismatch>
		</filter>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${LOG_DIR}/${LOG_PREFIX}_info.%d{yyyy-MM-dd}.log
			</fileNamePattern>
		</rollingPolicy>
		<encoder>
			<pattern>${LOG_MSG}</pattern>
		</encoder>

	</appender>


	<!-- ERROR日志输出 -->
	<appender name="ERROR_LOG"
			  class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${LOG_DIR}/${LOG_PREFIX}_error.log</file>
		<!-- 使用过滤器,仅仅接收error日志级别的信息到error日志 -->
		<filter class="ch.qos.logback.classic.filter.LevelFilter">
			<level>ERROR</level>
			<onMatch>ACCEPT</onMatch>
			<onMismatch>DENY</onMismatch>
		</filter>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${LOG_DIR}/${LOG_PREFIX}_error.%d{yyyy-MM-dd}.log
			</fileNamePattern>
		</rollingPolicy>
		<encoder>
			<pattern>${LOG_MSG}</pattern>
		</encoder>

	</appender>

	<!-- 关闭org包开头的的debug和info日志,不建议开启该配置,以便观察三方组件-->
	<logger name="org" level="INFO" />
	<logger name="io.netty" level="INFO" />
	

	<root level="DEBUG">
		<appender-ref ref="STDOUT" />
		<appender-ref ref="DEBUG_LOG" />  <!-- 因为使用临界值过滤器,info,error等级别的日志,都会进入debug日志文件中,当root设置为debug的时候,所有的日志都会进入debug日志文件 -->
		<appender-ref ref="INFO_LOG" />
		<appender-ref ref="ERROR_LOG" />
	</root>

</configuration>

3.项目中具体使用;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static Logger logger = LoggerFactory.getLogger(TestDate.class);
logger.info("info:[{}]",变量);
logger.error("error");
logger.debug("debug");

4.可以参考;

可参考logback详解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值