caf*_*eyd 2 java eclipse log4j
我想将Log4J日志记录集成到我的Java应用程序中,将信息写入日志文件以及在控制台上显示信息.不幸的是,我遇到了一些麻烦.我在Win 7上使用Eclipse Juno.
我的log4j.properties文件:
#configure logfile
log4j.appender.logfile = org.apache.log4j.RollingFileAppender
log4j.appedner.logfile.File = MyAppLog.log
log4j.appender.logfile.Append = true
log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern = %-5p %d [%t][%F:%L] : %m%n
#configure stdout
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 = %-5p %d [%t][%F:%L] : %m%n
log4j.rootLogger = debug, logfile, stdout
Run Code Online (Sandbox Code Playgroud)
我已经用VM参数指定了这个log4j.properties文件的位置:
-Dlog4j.configuration=file:///${workspace_loc}\path\to\file\log4j.properties
Run Code Online (Sandbox Code Playgroud)
我在我的java类中实例化记录器:
static Logger logger = Logger.getLogger(MyApp.class.getName());
Run Code Online (Sandbox Code Playgroud)
记录一个字符串:
logger.info("barfoo");
Run Code Online (Sandbox Code Playgroud)
此配置会在启动时导致以下警告/错误:
log4j:WARN File option not set for appender [logfile].
log4j:WARN Are you using FileAppender instead of ConsoleAppender?
log4j:ERROR No output stream or file set for the appender named [logfile]
Run Code Online (Sandbox Code Playgroud)
它不会生成日志文件.然而,控制台日志记录似乎工作正常.
Xyn*_*riz 10
这听起来很愚蠢 - 你有一个错字.你有log4j.appedner.logfile.File代替log4j.appender.logfile.File (注意是"n"和"D"切换).这就是为什么它抱怨你没有设置文件.