logback.xml和日志输入格式说明

版权声明:jathams(人勤事事易,人懒事事难) https://blog.csdn.net/Jatham/article/details/82999320
logback使用
  1. 依赖jar文件

     	logback-core-xxx.jar
     	logback-classic-xxx.jar
    
  2. logback.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    	
    	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    		<encoder>
    			<!--  %d{pattern}日期
    					%m或者%msg为信息
    					%M为method
    					%L为行号
    					%thread线程名称
    					%n换行
    					%-5level
    					
    					%C{length} |  %class{length}
    
    					%c {length }  |  %lo {length }   |  %logger {length }
    					输出日志的logger名,可有一个整形参数,功能是缩短logger名,设置为0表示只输入logger最右边点符号之后的字符串。 Conversion specifier Logger name Result
    			-->
    			<!--<pattern>%d{HH:mm:ss}  %-5level %logger{36} -%L %n%msg%n</pattern> -->
    			<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %C{36} %M %L - %msg %m %n</pattern>
    		</encoder>
    	</appender>
    
    	<appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
    		<!-- 日志文件位置 -->
    		<file>logs/sdjk_app.log</file>
    		<!-- 基于时间的rolling策略,默认是1h -->
    		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    			<fileNamePattern>logs/projectName.%d{yyyy-MM-dd}.log</fileNamePattern>
    		</rollingPolicy>
    		<encoder>
    			<pattern>%d{HH:mm:ss}  %-5level %logger{36}  - %msg%n</pattern>
    		</encoder>
    	</appender>
    	
    	<!-- 第三方组件的日志 -->
     	<logger name="org.springframework" level="ERROR"/>
     	<logger name="org.apache.shiro" level="ERROR"/>
     	<logger name="com.alibaba" level="ERROR"/>
    	<logger name="net.sf.ehcache" level="ERROR"/>
     	<logger name="org.apache.commons" level="ERROR"/>
     	<logger name="freemarker" level="ERROR"/>
     	<logger name="net.bull.javamelody" level="ERROR"/> 
     	<logger name="org.jboss.logging" level="ERROR"/> 
     	<logger name="org.quartz" level="ERROR"/> 
     	<logger name="org.hibernate.validator" level="ERROR"/> 
     	<logger name="org.eclipse" level="ERROR"/> 
    	
    	<!-- 配置日志级别
    		all<debug<info<warn<error<fatal<off默认为debug
    		off将不会输入任何日志
    		
    	 -->
    	<root level="off">
    		<appender-ref ref="console" />
    		<appender-ref ref="rollingFile" />
    	</root>
    </configuration>	
    
追加pattern说明

转换符 作用
c {length } lo {length } logger {length }输出日志的logger名,可有一个整形参数,功能是缩短logger名,设置为0表示只输入logger最右边点符号之后的字符串。

%logger	mainPackage.sub.sample.BarmainPackage.sub.sample.Bar

%logger{0}	mainPackage.sub.sample.BarBar

%logger{5}	mainPackage.sub.sample.Barm.s.s.Bar

%logger{10}	mainPackage.sub.sample.Barm.s.s.Bar

%logger{15}	mainPackage.sub.sample.Barm.s.sample.Bar

%logger{16}	mainPackage.sub.sample.Barm.sub.sample.Bar

%logger{26}	mainPackage.sub.sample.BarmainPackage.sub.sample.Bar 

C {length } class {length }输出执行记录请求的调用者的全限定名。参数与上面的一样。尽量避免使用,除非执行速度不造成任何问题。

contextName | cn 输出上下文名称。

d {pattern } | date {pattern }输出日志的打印日志,模式语法与java.text.SimpleDateFormat 兼容。

%d	2006-10-20 14:06:49,812

%date	2006-10-20 14:06:49,812

%date{ISO8601}	2006-10-20 14:06:49,812

%date{HH:mm:ss.SSS}14:06:49.812

%date{dd MMM yyyy ;HH:mm:ss.SSS}20 oct. 2006;14:06:49.812F /

file输出执行记录请求的java源文件名。尽量避免使用,除非执行速度不造成任何问题。

caller{depth}caller{depth, evaluator-1, … evaluator-n}输出生成日志的调用者的位置信息,整数选项表示输出信息深度。例如,

%caller{2}   输出为:0    [main] DEBUG - logging statement 
Caller+0   at mainPackage.sub.sample.Bar.sampleMethodName(Bar.java:22)
Caller+1   at mainPackage.sub.sample.Bar.createLoggingRequest(Bar.java:17)例如, %caller{3}   输出为:16   [main] DEBUG - logging statement 
Caller+0   at mainPackage.sub.sample.Bar.sampleMethodName(Bar.java:22)
Caller+1   at mainPackage.sub.sample.Bar.createLoggingRequest(Bar.java:17)
Caller+2   at mainPackage.ConfigTester.main(ConfigTester.java:38)

L / line输出执行日志请求的行号尽量避免使用,除非执行速度不造成任何问题。

m / msg / message输出应用程序提供的信息

M / method输出执行日志请求的方法名尽量避免使用,除非执行速度不造成任何问题。

n输出平台先关的分行符“\n”或者“\r\n”。

p / le / level输出日志级别。

r / relative输出从程序启动到创建日志记录的时间,单位是毫秒

t / thread输出产生日志的线程名。

replace(p ){r, t}p 为日志内容,r 是正则表达式,将p 中符合r 的内容替换为t 。

猜你喜欢

转载自blog.csdn.net/Jatham/article/details/82999320