以SSM搭建的Java web项目为例:
1、首先定义一个controller
在controller中引入log4j的logger,然后将需要输出日志的controller继承此基础类。即可实现输出日志。
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
public class BaseController {
public static final Logger logger = Logger.getLogger(BaseController.class);
}
2.配置 log4j.properties文件,可参考如下
### set log levels (如下的stdout,D,E为自己起的名字,可以理解为日志信息输出的三个不同目的地,如仅需配置一个或两个,可根据实际进行删减)###
log4j.rootLogger = DEBUG , stdout, D , E
### 输出到控制台(将DEBUG级别及以上的日志均输出到控制台) ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%c] - %m%n
### 输出到日志文件(将INFO级别及以上的日志均输出到指定的文件夹) ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = f:/logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold= INFO
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
### 保存异常信息到单独文件(将ERROR级别及以上的日志均输出到指定的文件夹)###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = f:logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold= ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
3.上述配置的一些说明:
rootLogger后面跟着输出日志的级别: