阅读 41

logged报No appenders could be found for logger| Java Debug 笔记

**本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看 活动链接 **

问题:

我将log4j放入我的构建路径中后,但是当我运行程序时报了以下信息:

log4j:WARN No appenders could be found for logger (dao.hsqlmanager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
复制代码

这些warn是什么意思?此处的appenders是什么?

------------------------------以下为回答,按支持票数排序----------------------------------

回答1(支持票数506): 这个log4j指南的简短介绍虽然有些老了,但是仍然有效。 该指南将提供了有关如何使用loggersappenders的信息。

这里为你提供两种简单的方法你可以参考下。 第一个就是将这一行添加到您的main方法中:

BasicConfigurator.configure();
复制代码

第二种方法是将配置文件log4j.properties(从上述指南中获取)添加到您的类路径中:

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
复制代码

回答2(支持票数78): 看来你需要将log4j.properties文件的路径添加到Eclipse中的Classpath中。

确保您的项目已在Eclipse中打开,然后单击Eclipse顶部的“运行”菜单,然后单击以下内容:

  1. Run
  2. Run Configurations
  3. Classpath (tab)
  4. User Entries
  5. Advanced (按钮在左边)
  6. Add Folders
  7. 然后导航到包含log4j.properties文件的文件夹
  8. log4j.properties file
  9. Apply
  10. Run

这样应该不会再出现错误信息。

回答3(支持票数52):

52

快速解决方案:

  1. main function中添加如下代码:
String log4jConfPath = "/path/to/log4j.properties";
PropertyConfigurator.configure(log4jConfPath);
复制代码
  1. 在/path/to 路径下创建一个名为log4j.properties的文件
log4j.rootLogger=INFO, 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{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n
复制代码
文章分类
后端
文章标签