java工程中如何使用log4j输出指定路径日志文件,是java工程,不是web工程,谢谢

可以在控制台输出,就是不能输出到指定的文件中,log4j.properties配置如下:
log4j.rootLogger=debug, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%m%n
log4j.appender.R=org.apache.log4j.RollingFileAppenderlog4j.appender.R.File=D:/log/printserver.loglog4j.appender.R.MaxFileSize=10240KBlog4j.appender.R.MaxBackupIndex=6log4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%l%m%n

此文档放在项目编译文件.class相同的位置
### set log levels ###log4j.rootLogger = debug , stdout , D### 输出到控制台 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n### 输出到日志文件 ###log4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = logs/log.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = DEBUGlog4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n### 保存异常信息到单独文件 ###log4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = logs/error.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = ERRORlog4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
配置获取方法:
PropertyConfigurator.configure( "D:\\Project Files\\myeclipse\\commontest\\bin\\log\\log4j\\log4j.properties" );
Logger log=Logger. getLogger(TestLog4j.class);
log.warn( "嘿嘿");
log.debug( "呜呜");
log.error( "错啦");追问

谢谢,不需要这个获取方法也可以的PropertyConfigurator.configure( "D:\\Project Files\\myeclipse\\commontest\\bin\\log\\log4j\\log4j.properties" );

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-16
在log4j的配置文件里面配置。log4j.appender.stdout.File=路径追问

谢谢,我在log4j.rootLogger=debug, stdout改为log4j.rootLogger=debug, stdout, R就可以了