我正在尝试学习log4j,所以我只是尝试做一些非常简单的事情。
Logger logger = Logger.getLogger("ClientApplicationLog");
logger.info("Logger Test");
但是做完之后我得到了;
log4j:WARN No appenders could be found for logger (ClientApplicationLog).
log4j:WARN Please initialize the log4j system properly.
你知道我错了吗?
谢谢你们
您在类路径中缺少log4j.properties
或log4j.xml
。
您可以使用
BasicConfigurator.configure();
但是请注意,这只会登录到System.out,因此不建议这样做。您实际上应该使用上面的文件之一,然后将其写入日志文件。
一个非常简单的例子log4j.properties
是
#Log to Console as 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{yyyy-MM-dd HH:mm:ss} %-5p %c %3x - %m%n
#Log to file FILE
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=logfile.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c %3x - %m%n
#Root Logger
log4j.rootLogger=INFO, stdout, file
问题内容: 这是错误消息- 这是该类中的调用- 这是我的log4j.properties文件的内容- 属性文件在类路径上。 一切对我来说都很好,这是怎么回事?如果不是门槛也可拍摄记录? 问题答案: 好了,所以我通过更改 对此 显然,您必须将日志记录级别指定为第一个?如果我浪费任何人的时间,我深表歉意。 另外,我决定回答我自己的问题,因为这不是类路径问题。
问题内容: 我有一个使用Spring的类初始化我的Log4J日志工厂的Web应用程序。基本上,它使用不在类路径中的配置文件来初始化Log4J。 这是配置: 但是,在应用程序启动时出现此错误: 大量的Spring应用程序上下文初始化消息被打印到控制台。我认为这是因为Spring在有机会初始化记录器之前正在进行初始化应用程序的工作。如果很重要,我将在Log4J之上使用SLF4J。 有什么办法可以使Lo
问题内容: 将log4j添加到我的应用程序后,每次执行我的应用程序时,都会得到以下输出: 看来这意味着缺少配置文件。此配置文件应位于何处,什么是良好的入门内容? 我使用纯Java开发桌面应用程序。因此没有网络服务器等… 问题答案: 默认情况下,在上查找名为或的文件。 您可以按照此处所述通过设置系统属性来控制它用来初始化自身的文件(查找“默认初始化过程”部分)。 例如: 将导致在类路径上查找名为的文
我正在努力学习硒。 我收到以下错误消息: log4j:WARN找不到记录器(org.apache.http.client.protocol.RequestAddCookies)的追加器。log4j:警告请正确初始化log4j系统。log4j:请参阅http://logging.apache.org/log4j/1.2/faq.html#noconfig更多信息。 因此,我下载了文件,我在谷歌上搜索
我现在正在创建一个独立的java应用程序,它需要作为可执行的JAR运行。当从Eclipse运行应用程序时,它会写入所有的日志文件,但当我运行可执行jar时,它会出现一个警告:**log4j:warn没有发现logger log4j:warn的附加文件,请正确初始化log4j系统。log4j:警告有关更多信息,请参见http://logging.apache.org/log4j/1.2/faq.ht
场景如下:我有一个现有的web应用程序,它通过servlet初始化log4j: 不,我想重写这个初始化通过一个外部文件传递log4j.configurationJVM ardument:-Dlog4j.configuration=file:/usr/本地/log4j.xml 当我启动应用程序服务器时,我可以看到外部文件首先被拾取,但随后通过初始化servlet的内部文件将覆盖这些更改。 我的问题是