配置文件如下:
log4j.rootLogger=debug, A1 , R
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m -(:%L)%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=D:\\programmer\\ideaproj\\WorkUtil\\testsocket_log.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m -(:%L)%n
初始化Log4j和测试程序如下:
Log4jTest.java |
01 import org.apache.log4j.Logger; 02 03 /** 04 * User: Diegoyun 05 * Date: 2006-3-4 06 * Time: 23:21:17 07 */ 08 public class Log4jTest { 09 public static void main(String[] args) { 10 String path="D:\\programmer\\ideaproj\\WorkUtil\\test\\log4j.properties"; 11 org.apache.log4j.PropertyConfigurator.configure(path); 12 Logger logger = Logger.getLogger(Log4jTest.class); 13 logger.debug("a test."); 14 } 15 } |
注意把相关文件路径修改。
运行程序之后,会在控制台和你的log文件(以上为testsocket_log.log)输出这么一句话:
2006-03-05 00:02:26 [Log4jTest]-[DEBUG] a test. -(:15)
最后那个数字为源码的line number。有类名,源码位置,以上配置足够一般的开发了。
如果想将log写到其他地方,例如sokect,数据库,请参考这篇文章:
http://www.javaresearch.org/article/showarticle.jsp?column=2&thread=43459
have fun :-)