java log4j 初始化_如何正确初始化log4j?

为什么我看到关于“没有为记录器找到附加程序”和“请正确配置log4j”的警告?

这发生在默认配置时。档案log4j.properties和log4j.xml找不到应用程序不执行显式配置。log4j使用Thread.getContextClassLoader().getResource()若要定位默认配置文件,且不直接检查文件系统,请执行以下操作。知道放置log4j.properties或log4j.xml需要了解使用中的类加载器的搜索策略。log4j不提供默认配置,因为在某些环境中可能禁止输出到控制台或文件系统。

基本上是警告无法为记录器找到任何附加程序。意味着你在用log4j日志记录系统,但是您还没有添加任何插件(如FileAppender、ConsoleAppender、SocketAppender、SyAdd.1-Appender等)。到您的配置文件中,或者缺少配置文件。

有三种配置log4j的方法:使用属性文件(log4j.properties),与XML文件并通过Java代码(rootLogger.addAppender(new NullAppender());).

log4j.properties

如果存在属性文件(例如在安装Solr时),则需要将该文件放置在类路径目录。

类路径

下面是Linux中如何确定类路径值的一些命令建议:$ echo $CLASSPATH

$ ps wuax | grep -i classpath

$ grep -Ri classpath /etc/tomcat? /var/lib/tomcat?/conf /usr/share/tomcat?

或来自Java:System.getProperty("java.class.path").

Log4j XML

下面是用于log4j的XML格式的基本XML配置文件:<?xml  version="1.0" encoding="UTF-8" ?>

log4j:configuration SYSTEM "log4j.dtd">

猫猫

如果你在使用Tomcat,你可以把你的log4j.properties转入:/usr/share/tomcat?/lib/或/var/lib/tomcat?/webapps/*/WEB-INF/lib/文件夹。

索尔

对于引用,Solr默认值log4j.properties文件如下:#  Logging level

solr.log=logs/

log4j.rootLogger=INFO, file, CONSOLE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x \u2013 %m%n

#- size rotation with log cleanup.

log4j.appender.file=org.apache.log4j.RollingFileAppender

log4j.appender.file.MaxFileSize=4MB

log4j.appender.file.MaxBackupIndex=9

#- File to log to and log format

log4j.appender.file.File=${solr.log}/solr.log

log4j.appender.file.layout=org.apache.log4j.PatternLayout

log4j.appender.file.layout.ConversionPattern=%-5p - %d{yyyy-MM-dd HH:mm:ss.SSS}; %C; %m\n

log4j.logger.org.apache.zookeeper=WARN

log4j.logger.org.apache.hadoop=WARN

# set to INFO to enable infostream log messages

log4j.logger.org.apache.solr.update.LoggingInfoStream=OFF

为什么log4j无法在J2EE或WAR应用程序中找到我的属性文件?简单的回答是:log4j类和属性文件不在同一个类加载器的范围内。

Log4j只使用默认的Class.forName()加载类的机制。资源的处理方式类似。请参阅java.lang.ClassLoader更多细节。

因此,如果您有问题,尝试加载类或资源自己。如果你找不到它,log4j也不会。;)

另见:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值