1、把log4j2相關(guān)的jar包導(dǎo)入到WEB-INF的lib目錄下
log4j-api-2.6.2.jar
log4j-core-2.6.2.jar
2、在src目錄下添加log4j2的配置文件
(1)log4j2.xml配置文件,以下是一個把日志輸出到控制臺和保存在文件中的配置文件
<?xml version="1.0" encoding="UTF-8"?><Configuration status="warn" name="MyApp"> <appenders> <Console name="Console" target="SYSTEM_OUT"> <ThresholdFilter level="debug"/> <PatternLayout pattern="%m%n"/> </Console> <File name="log" fileName="e:\\test1.log" append="true"> <ThresholdFilter level="error"/> <PatternLayout pattern="%d-%m%n"/> </File> </appenders> <loggers> <root level="debug"> <appender-ref ref="Console"></appender-ref> <appender-ref ref="log"></appender-ref> </root> </loggers></Configuration>
如果需要復(fù)雜一些的請參考:http://www.cnblogs.com/hanfight/p/5721855.html
(2)log4j2.properties配置文件,功能同上
status = warnname = MyAppfilter.threshold.type = ThresholdFilterfilter.threshold.level = debugappender.console.type = Consoleappender.console.name = STDOUTappender.console.layout.type = PatternLayoutappender.console.layout.pattern = %m%nappender.rolling.type = Fileappender.rolling.name = logappender.rolling.append = trueappender.rolling.fileName = e:\\test1.logappender.rolling.layout.type = PatternLayoutappender.rolling.layout.pattern = %d-%m%nrootLogger.level = debugrootLogger.appenderRef.stdout.ref = STDOUTrootLogger.appenderRef.log.ref = log
如果需要復(fù)雜的請參考:
http://logging.apache.org/log4j/2.x/manual/configuration.html#Properties
注:.properties這種方式用的比較少,鏈接中的注釋也比較少,請參考(1)中的文檔,對照著理解和編寫。
3、輸出log日志并記錄成文件
//1.定義Logger對象,用Logger.getLogger(Class clazz):public static Logger log4jDemo1 = LogManager.getLogger(LogListener.class.getName());//2.定義Logger對象,用LogManager.getLogger(Class clazz)://public static Logger log4jDemo2 = LogManager.getLogger(LogListener.class);//3.定義Logger對象,用LogManager.getLogger(String name)://public static Logger log4jDemo3 = LogManager.getLogger(LogListener.class.getName());//4.定義Logger對象,將3中的name變成具體的字符串://public static Logger log4jDemo4 = LogManager.getLogger("common.LogListener");log4jDemo1.debug("我是debug");log4jDemo1.error("我是error");log4jDemo1.log(Level.ERROR, "我是Level.ERROR ");