log4j:WARN No appenders could be found for logger

2019-01-21 12:29发布

This question already has an answer here:

First up - yes, I have read the multiple questions & answers on this topic, and can't get any of the solutions within those to help me. I'm not running Tomcat or JBoss and I don't have a web.xml file to change. I'm using Java 6.0 and log4j-1.2.8.jar

I am creating a runnable jar file with IDEA IntelliJ with jar libraries packaged separately and linked via the manifest. I am running my code on a linux server thus:

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.

My log4j configuration file (which I've placed both in mydir and mydir/code, just in case) is:

## 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

And I have created the log/ directory in mydir and mydir/code, again, just in case.

Any ideas?

标签: java log4j
7条回答
成全新的幸福
2楼-- · 2019-01-21 12:50

Man, I had the issue in one of my eclipse projects, amazingly the issue was the order of the jars in my .project file. believe it or not!

查看更多
干净又极端
3楼-- · 2019-01-21 12:51

There are many possible options for specifying your log4j configuration. One is for the file to be named exactly "log4j.properties" and be in your classpath. Another is to name it however you want and add a System property to the command line when you start Java, like this:

-Dlog4j.configuration=file:///path/to/your/log4j.properties

All of them are outlined here http://logging.apache.org/log4j/1.2/manual.html#defaultInit

查看更多
该账号已被封号
4楼-- · 2019-01-21 12:56

I had moved my log4j.properties into the resources folder and it worked fine for me !

查看更多
仙女界的扛把子
5楼-- · 2019-01-21 12:58

put the folder which has the properties file for log in java build path source. You can add it by right clicking the project ----> build path -----> configure build path ------> add t

查看更多
手持菜刀,她持情操
6楼-- · 2019-01-21 13:00

Move Your log4j.properties file into the src folder. Open Windows explorer, browse to the directory where your project resides in. Browse to bin directory and delete all the folders with in it.

Now in eclipse click project---->clean---->OK

This would force it to build the project again,all the contents delete from bin directory will be recreated.

I took while to figure this out. At times directly clicking clean doesn't work

查看更多
兄弟一词,经得起流年.
7楼-- · 2019-01-21 13:03

Solution

  1. Download log4j.jar file
  2. Add the log4j.jar file to build path
  3. Call logger by:

    private static org.apache.log4j.Logger log 
        = Logger.getLogger(<class-where-this-is-used>.class);
    
  4. if log4j properties does not exist, create new file log4j.properties file new file in bin directory:

    /workspace/projectdirectory/bin/
    

Sample log4j.properties file

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 
查看更多
登录 后发表回答