log4j2.xml模板

log4j1.*版本在打印日志的时候不支持占位符,在打印日志的时候需要拼接起来。所以我就讲log4j版本改为    2.*,log4j2.*版本支持占位符,在代码看上去就美观了很多。

首先下载log4j包地址:http://logging.apache.org/log4j/2.x/download.html

将log4j-api-2.*.jar、log4j-core-2.*.jar包放入lib文件夹下

创建配置文件log4j 2.*有xml、json配置两种文件方式,并没有1.*版本的properties配置方式

下面就以xml配置方式为例

在src下创建一个log4j2.xml文件,注意是log4j2.xml

内容如下:

<?xml version="1.0" encoding="UTF-8"?>  
<configuration status="off">
	<Properties>
   	 <Property name="LOG_HOME">${sys:catalina.home}/logs/AppNetAgeService</Property>
   	 <Property name="LOG_NAME">log.txt</Property>
  	</Properties>
	<appenders>  
	    <Console name="Console" target="SYSTEM_OUT">  
	      <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread][%file:%line] - %msg%n"/>  
	    </Console> 
       	<RollingFile name="log" fileName="${LOG_HOME}/${LOG_NAME}" filePattern="${LOG_HOME}/${LOG_NAME}.%d{yyyy-MM-dd}" append="true">
  			<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss}   %-5level [%thread][%file:%line] - %msg%n" />
      		<Policies>
      			<TimeBasedTriggeringPolicy modulate="true" interval="1" />
     		</Policies>	
     		<DefaultRolloverStrategy max="180" />
   		</RollingFile>
   </appenders>
   <loggers>  
    <root level="DEBUG">  
      <appender-ref ref="Console"/> 
      <appender-ref ref="log"/>
    </root>  
  </loggers> 
</configuration>

   注意事项:

1、<root level="DEBUG"></root>这个标签中level等级,、log4j优先级分别为FATAL、ERROR、WARN、INFO、DEBUG, 如果level的值设置为ERROR,那么只有FATAL、ERROR等级的日志才会打印

2、 <Property name="LOG_HOME">${sys:catalina.home}/logs/AppNetAgeService</Property>,1.*版本中获取tomcat路径是${catalina.home}, log4j2.*版本中获取tomcat路径是${sys:catalina.home}

3、 要在<root>标签中添加<appender-ref ref="Console"/>,<appender-ref ref="log"/>才能在控制台、和文件中打印日志

猜你喜欢

转载自huweiyi.iteye.com/blog/2296297
今日推荐