为web项目添加logback

Posted web小菜鸟ing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为web项目添加logback相关的知识,希望对你有一定的参考价值。

在项目进行的过程中,难免要涉及到日志查看和打印,所以学习了logback的使用和配置方法,在这里记录下,和大家分享

1.jar包


上面的两个包是必须要使用的,注意不要重复加载了,不然会找不到这个包,导致加载失败

2.配置xml

在web.xml里面先配置好logback.xml的地址,配置如下

	<context-param>
		<param-name>logbackConfigLocation</param-name>
		<param-value>classpath:main/resources/logback.xml</param-value>
	</context-param>
配置logback.xml如下所示

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

<configuration>
     <property name="APP_Name" value="cptIdeUI" />   
     <contextName>$APP_Name</contextName>  

 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  <layout class="ch.qos.logback.classic.PatternLayout">
   <pattern>[%dyyyyMMdd HH:mm:ss-SSS] %-5level [%thread][%logger:%line]- %msg%n</pattern>
  </layout>
  <!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>INFO</level> 
   </filter> -->
 </appender>
 
 <appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
  <discriminator>
   <key>filename</key>
   <DefaultValue>c:/test</DefaultValue>
  </discriminator>
  <sift>
   <appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>C:/test.log</file>
    <prudent>false</prudent>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
     <FileNamePattern>$filename-%dyyyyMMdd.%i.log.gz</FileNamePattern>
     <maxHistory>30</maxHistory>
     <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
      <maxFileSize>20MB</maxFileSize>
     </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <layout class="ch.qos.logback.classic.PatternLayout">
     <ImmediateFlush>false</ImmediateFlush><!-- 缓存 -->
     <pattern>[%dyyyyMMdd HH:mm:ss.SSS] %-5level [%thread][%logger:%line]- %msg%n</pattern>
    </layout>
   </appender>
  </sift>
 </appender>
  
 <!--  过滤第三方日志-->
 <logger name="org.apache.cxf" level="error"/>
 
 <!-- 开发环境level设置为ALL打印和记录所有日志,生成环境建议修改为ERROR或WARN避免产生大量日志 -->
 <root level="debug">
  <appender-ref ref="SIFT"></appender-ref>
  <appender-ref ref="STDOUT"></appender-ref>
 </root>
 
</configuration>
上面可以根据自己的需要修改配置文件,简单介绍下

STDOUT是配置输出日志的格式

FILE是配置输出日志文件的名称格式和大小等一些基本配置

<logger>配置了需要过滤的第三方日志,这里可以添加我们自己jar包里的内容,并设置显示级别,这里我假设把cxf设置为error级别才显示日志

<root>的话就简单的解释为除了logger自己配置的日志以外,其他的都是root的配置。

以上是关于为web项目添加logback的主要内容,如果未能解决你的问题,请参考以下文章

在SpringBoot项目中添加logback的MDC

logback 同一路径下只能有一个配置文件吗

gradle多项目构建添加logback日志功能以及相关配置

java日志logback入门

如何使用SBT和Scala正确管理开发和生产中的logback配置?

spring cloud sleuth 如何将跟踪信息添加到 logback 日志行