log4j:警告没有appender可以发现logging(运行jar文件,而不是web应用程序)
首先 – 是的,我已经阅读了关于这个主题的多个问题和答案,并且不能得到任何帮助我的解决scheme。 我没有运行Tomcat或JBoss,也没有要更改的web.xml文件。 我正在使用Java 6.0和log4j-1.2.8.jar
我正在用IDEA IntelliJ创build一个可运行的jar文件,jar文件分别打包并通过清单链接。 我正在Linux服务器上运行我的代码,因此:
me@server:/mydir> java -jar code/myjar.jar log4j:WARN No appenders could be found for logger (FactoredEventsForTrna). log4j:WARN Please initialize the log4j system properly.
我的log4jconfiguration文件(我把它放在mydir和mydir / code中,以防万一):
## Logger configure file for myproject log.dir=log/ datestamp=yyyy-MM-dd/HH:mm:ss.SSS log4j.rootLogger=TRACE, file, proappender, console log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.maxFileSize=1GB log4j.appender.file.maxBackupIndex=5 log4j.appender.file.File=log/mydebug.log log4j.appender.file.threshold=TRACE log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{${datestamp}} %5p: %c{2} - %m%n log4j.appender.proappender=org.apache.log4j.RollingFileAppender log4j.appender.proappender.maxFileSize=5GB log4j.appender.proappender.Threshold=INFO log4j.appender.proappender.File=log/myinfo.log log4j.appender.proappender.layout=org.apache.log4j.PatternLayout log4j.appender.proappender.layout.ConversionPattern=%d{${datestamp}} %5p: %c{2} - %m%n log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Threshold=DEBUG log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{${datestamp}} %5p: %c{2} - %m%n
而且我已经在mydir和mydir / code中创build了log /目录,以防万一。
有任何想法吗?
有很多可能的选项来指定你的log4jconfiguration。 一个是文件被命名为“log4j.properties”,并在您的类path。 另一种方法是将其命名,然后在启动Java时将System属性添加到命令行中,如下所示:
-Dlog4j.configuration=file:///path/to/your/log4j.properties
所有这些在这里概述http://logging.apache.org/log4j/1.2/manual.html#defaultInit
解
- 下载
log4j.jar
文件 - 添加
log4j.jar
文件来构buildpath -
通话logging器:
private static org.apache.log4j.Logger log = Logger.getLogger(MyLogger.class);
-
如果log4j属性不存在,则在bin目录中创build新文件log4j.properties文件新文件:
/workspace/projectdirectory/bin/
示例log4j.properties文件
log4j.rootLogger=debug, 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=%t %-5p %c{2} - %m%n
我已经将我的log4j.properties移动到资源文件夹,它对我来说工作得很好!
人,我在我的一个eclipse项目中遇到了问题,令人惊讶的是,问题是我的.project文件中的jar文件的顺序。 信不信由你!
您将在solr / examples / resources中findde log4j.properties 。
如果你没有find这个文件,我把它放在这里:
# 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.properties文件移动到src文件夹中。 打开Windows资源pipe理器,浏览到您的项目所在的目录。浏览至bin目录并删除其中的所有文件夹 。
现在在eclipse中点击project —-> clean —-> OK
这将迫使它重新构build项目,从bin目录删除所有内容将被重新创build。
我花了一段时间来解决这个问题。 有时直接点击清理不起作用
把具有属性文件的文件夹login到Java构buildpath源。 您可以通过右键单击项目来添加它—-> build path —–> configure build path ——> add t