其实是挺简单的东西,但是事无巨细,记录一下,以后很容易就拿来用了。
看到公司项目里面都是用这个的,我也把这个加到了struts+spring的项目里面用的,为了便于记录各种控制台的信息。这里就放一个最简单的配置。
log4j.properties:
log4j.rootCategory=INFO,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) -%m%n
纯控制台输出的,里面使用的是INFO,用debug的时候,控制台会输出很多东西,应该也是配置的原因。暂时用INFO,这样直接logger.info("xx");就可以了。
在web.xml里面也添加了配置信息:
<context-param> <param-name>log4jConfigLocation</param-name> <param-value>log4j.properties</param-value> </context-param> <listener> <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class> </listener>
log4j.properties就是放在src下面的。
一个很简单的test:
import org.apache.log4j.Logger; public class Test { Logger logger=Logger.getLogger(Test.class); public Test(){ logger.info("debug");
logger.debug("debug"); logger.warn("warn"); } public static void main(String[] args) { System.out.println("hi"); Test test=new Test(); } }
控制台输出:
hi INFO [main] (Test.java:7) -debug WARN [main] (Test.java:8) -warn
在INFO范围里面,用logger.debug()是不显示的。
就这么多。