我有一个非常简单的scala应用程序。它所做的只是初始化记录器并logger.info(“你好”)。我在类路径中有一个log4j.properties文件,它具有以下设置
# Root logger option
log4j.rootLogger=INFO, stdout
# Direct log messages to 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=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
但是,当我尝试运行应用程序时。我得到的错误是log4j:WARN找不到记录器的appender(app.TestApp$)。log4j:警告请正确初始化log4j系统。
我错过了什么?但是,如果我有hadoop core,我会打印日志。类路径中的jar(是的,里面也有一个log4j)
听起来在类路径上找不到您的属性文件。打印出类路径(系统属性java.class.path)以验证发生了什么。
你的log4J配置文件不在类路径中,即使你认为它在。解决此问题的最简单方法是将-Dlog4j.debug
添加到VM参数,然后Log4J将跟踪它正在使用的算法以找到其配置:
scala -cp {yourclasspath} -Dlog4j.debug {yourscalaentrypoint}
不幸的是,@Jens的回答在您运行Scala程序时没有帮助,因为Scala不使用标准的Java系统属性来存储其类路径。当您需要打印出用于Scala程序的类路径时,您应该使用类似于此的技术。
我真的不明白那条警告信息是什么意思。谁能解释一下我该怎么处理?
下面是我的log4j.properties文件内容,文件放在Eclipse中的src文件夹中。
我尝试使用第二个日志文件与我的默认日志文件在servlet我有这个log4j.xml配置。 现在在servlet中,我将记录器设置为: 但在运行时:错误日志。调试(“启动应用程序”);我得到: log4j和log4j.xml在类路径我做错了什么?
我得到这个错误 这是我的主要任务 这是我的log.properties档案 这是我的文件结构。 我正处于Log4J的学习阶段,并试图实施一个虚拟项目来深入理解它。
我已经把我的log4j放好了。我的webapp的lib文件夹中的properties文件我还尝试在META-INF中输入如下内容: 这是我的log4j.properties.我得到以上警告和记录器是不写任何文件。我也创建了文件夹结构,如上所述。
我已经将log4j放入了buildpath中,但在运行应用程序时会收到以下消息: 这些警告意味着什么?这里的附加符是什么?