Logger4j

一、介绍

    Logger4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

Log4j由三个重要的组件构成:

  1. 优先级(Loggers):从高到低有ERROR、WARN、 INFO、DEBUG,用来指定这条日志信息的重要程度
  2. 输出目的地(Appenders):指定了日志将打印到控制台还是文件中
  3. 输出格式(Layouts):控制了日志信息的显示内容

二、配置文件(与Spring集成)

1、web.xml 设定log4j.xml文件位置

<context-param>
	<param-name>log4jConfigLocation</param-name>
	<param-value>classpath:log4j.xml</param-value>
</context-param>

2、log4j.xml配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
		<param name="Target" value="System.out" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern"
				value="[项目名] %-d{yyyy-MM-dd HH:mm:ss} %p [%t] %c{1}.%M(%L) | %m%n" />
		</layout>
	</appender>

	<appender name="APPLOGFILE" class="org.apache.log4j.RollingFileAppender">
		<param name="encoding" value="UTF-8" />
		<param name="File" value="c:/logs/ynzjj_qyxypt.log" />
		<param name="Append" value="true" />
		<param name="MaxFileSize" value="1024KB" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern"
				value="[项目名] %-d{yyyy-MM-dd HH:mm:ss} %-5p %-15c{1}: %m%n" />
		</layout>
	</appender>
	<!-- 指定logger的设置,默认additivity="true" 注意additivity="true"与appender-ref同时配置会导致重复 -->
	<logger name="com.chinacreator">
		<level value="INFO" />
	</logger>
	<logger name="org.springframework">
		<level value="INFO" />
	</logger>
	<logger name="org.apache.ibatis">
		<level value="DEBUG" />
	</logger>
	<root>
		<priority value="DEBUG" />
		<appender-ref ref="CONSOLE" />
		<!-- <appender-ref ref="APPLOGFILE" /> -->
	</root>
</log4j:configuration>

3、Java使用

package com.mucfc;
import org.apache.log4j.Logger;
/**
 */
public class Test {
	private static Logger logger = Logger.getLogger(Test.class);  

    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
        // System.out.println("This is println message.");  

        // 记录debug级别的信息  
        logger.debug("This is debug message.");  
        // 记录info级别的信息  
        logger.info("This is info message.");  
        // 记录error级别的信息  
        logger.error("This is error message.");  
    }  

}

properties类型配置:https://blog.csdn.net/luohai859/article/details/52250807

猜你喜欢

转载自blog.csdn.net/u014231646/article/details/79977261