文档章节

logback日志配置

洋洋照我心
 洋洋照我心
发布于 2015/07/24 10:11
字数 661
阅读 36
收藏 1

1、首先配置pom.xml 确定日志及相关依赖(用slf4j+logback代替jcl+log4j) 

<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.5</version>
		</dependency>
		<!-- 将现有的jakarta commons logging的调用转换成lsf4j的调用。 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jcl-over-slf4j</artifactId>
			<version>1.7.5</version>
		</dependency>
		<!-- 将现有的log4j的调用转换成lsf4j的调用。 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>log4j-over-slf4j</artifactId>
			<version>1.7.12</version>
		</dependency>
		<!-- Hack:确保commons-logging的jar包不被引入,否则将和jcl-over-slf4j冲突 -->
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.1.3</version>
			<scope>provided</scope>
		</dependency>
		<!-- slf4j的实现:logback,用来取代log4j。 -->
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.0.13</version>
			<scope>runtime</scope>
		</dependency>

2、在classpath路径中新建logback.xml文件,文件内容如下

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_FILE" value="D:\\log\\dal.log" />
<property name="LOG_PATTERN" value="D:\\log\\pattern\\event.%d{yyyy-MM-dd}\L%d{dd}-%i.log" />
<property name="ENCODE" value="UTF-8" />
<property name="LOG_LEVEL" value="DEBUG"></property> 
	<!-- trace日志添加到控制台 -->
   <appender name="TRACESTDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!--   Layout 负责把事件转换成字符串,格式化的日志信息的输出。 -->
        <!-- 输出格式 时间 进程 输出级别 输出信息 换行符 -->
         <target>System.out</target>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>TRACE</level>
             <onMatch>ACCEPT</onMatch>   
      		<onMismatch>DENY</onMismatch>   
        </filter>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern><![CDATA[
			%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
            ]]></pattern>
        </layout>
    </appender>
    <!-- debug日志添加到控制台 -->
    <appender name="DEBUGSTDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!--   Layout 负责把事件转换成字符串,格式化的日志信息的输出。 -->
        <!-- 输出格式 时间 进程 输出级别 输出信息 换行符 -->
         <target>System.out</target>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>DEBUG</level>
             <onMatch>ACCEPT</onMatch>   
      		<onMismatch>DENY</onMismatch>   
        </filter>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern><![CDATA[
			%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
            ]]></pattern>
        </layout>
    </appender>
    <!-- info日志添加到控制台 -->
    <appender name="INFOSTDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!--   Layout 负责把事件转换成字符串,格式化的日志信息的输出。 -->
        <!-- 输出格式 时间 进程 输出级别 输出信息 换行符 -->
         <target>System.out</target>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
        	<level>INFO</level>
        	 <onMatch>ACCEPT</onMatch>   
      		<onMismatch>DENY</onMismatch>
        </filter>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern><![CDATA[
			%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
            ]]></pattern>
        </layout>
    </appender>
	<!-- warn及error信息添加到控制台 -->
    <appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
        <target>System.err</target>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARN</level>
        </filter>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern><![CDATA[
            %d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
            ]]></pattern>
        </layout>
    </appender>
    
	<!-- 滚动记录文件,先将日志记录到指定文件,每天生成一个文件 30天周期归档  -->
 	<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${LOG_FILE}</file>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${LOG_PATTERN}</fileNamePattern>
			<maxHistory>30</maxHistory>
			<TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
		    	<MaxFileSize>5MB</MaxFileSize>
		    </TimeBasedFileNamingAndTriggeringPolicy>
		</rollingPolicy>
		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
		</encoder>
	</appender>
	
	
	
    <logger name="org.apache">
        <level value="INFO" />
    </logger>

    <logger name="org.springframework">
        <level value="INFO" />
    </logger>

    <root>
    	<!--设定全局日志级别-->
        <level value="${LOG_LEVEL}" />
         <appender-ref ref="TRACESTDOUT" />
         <appender-ref ref="DEBUGSTDOUT" /> 
         <appender-ref ref="INFOSTDOUT" />
        <appender-ref ref="STDERR" />
        <appender-ref ref="FILE" />
    </root>
</configuration>

3、启动项目,如出现以下信息,表示logback日志启动成功

© 著作权归作者所有

共有 人打赏支持
上一篇: List remove的使用
下一篇: druid连接池配置
洋洋照我心
粉丝 0
博文 9
码字总数 3863
作品 0
赤峰
私信 提问
spring boot(8)默认日志logback配置

1 日志简介 Spring Boot使用Commons Logging记录所有内部日志,但是它将底层日志实现打开,为Java.Util.Logging,Log4J2和Logback提供默认配置。 在每个案例中,loggers都预先配置,以使用控...

刘胜球
2017/10/31
0
0
LogBack简易教程

1.简介   LogBack是一个日志框架,它与Log4j可以说是同出一源,都出自Ceki Gülcü之手。(log4j的原型是早前由Ceki Gülcü贡献给Apache基金会的) 1.1 LogBack,Slf4j,Log4j之间的关系  ...

0了凡0
2016/07/25
97
0
Java深入 - logback的配置和使用

1. logback介绍 Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。log...

initphp
2014/11/07
0
0
Spring Boot日志集成

Spring Boot日志框架 Spring Boot支持Java Util Logging,Log4j2,Lockback作为日志框架,如果你使用starters启动器,Spring Boot将使用Logback作为默认日志框架。无论使用哪种日志框架,Sprin...

java技术栈
2017/11/08
0
0
【spring boot logback】日志使用自定义的logback-spring.xml文件后,application.properties中关于日志的相关配置还会起作用么

本篇 将针对【日志使用自定义的logback-spring.xml文件后,application.properties中关于日志的相关配置还会起作用么】这一个主题进行探索。 这个测试项目是根据【spring boot】8.spring bo...

angel挤一挤
2017/11/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java网络编程

基本概念 网络IO会涉及到同步,异步,阻塞,非阻塞等几个概念。 一个网络IO读取过程是数据从 网卡 到 内核缓冲区 到 用户内存 的过程。同步和异步区别在于数据从内核到用户内存的过程是否需要...

春哥大魔王的博客
30分钟前
1
0
Spring "reg:zookeeper" 的前缀 "reg" 未绑定等类似问题解决方案。

今天同事遇到一个Spring启动加载配置文件时,不识别reg:zookeeper标签的问题。 我查看配置,发现是Spring配置文件的头部没有引入reg标签的命名空间,具体如下图: 所以,以后遇到类似的标签未...

花漾年华
59分钟前
1
0
阿里云领衔云市场

近期,2018年Q4及全年的全球云基础设施服务市场数据新鲜出炉,发布方是美国市场研究机构Synergy Research Group。这个机构是专做电信网络市场情报的公司,成立于1999年,每年都会公布各大公有...

linuxCool
今天
2
0
C++友元函数和友元类(C++ friend)详解

私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行。这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书...

shzwork
今天
3
0
JAVA对map进行分组

public static Map<String, List<Map<String, Object>>> transition(List<Map<String, Object>> list){ Map<String, List<Map<String, Object>>> map = new HashMap<>(); //......

火龙战士
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部