简体   繁体   English

找不到log4j.properties

[英]log4j.properties cannot be found

I'm having a hard time to get my logger start working. 我很难让记录仪开始工作。

My log4j.properties file looks like : 我的log4j.properties文件如下所示:

# Log levels
log4j.rootLogger=INFO,CONSOLE,R
# Appender Configuration
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
# Pattern to output the caller's file name and line number
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
# Rolling File Appender
log4j.appender.R=org.apache.log4j.RollingFileAppender
# Path and file name to store the log file
log4j.appender.R.File=./logs/testlog.log
log4j.appender.R.MaxFileSize=200KB
# Number of backup files
log4j.appender.R.MaxBackupIndex=2
# Layout for Rolling File Appender
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d - %c - %p - %m%n

Taken from this tutorial 取自本教程

When i'm printing my classPath, it appears that "C:\\Projects\\SDK\\resources" is one of the directories in the classPath, and that's where my log4j.properties file is. 当我打印我的classPath时,似乎“ C:\\ Projects \\ SDK \\ resources”是classPath中的目录之一,而这正是我的log4j.properties文件所在的位置。

My logger is initiated as: 我的记录器启动为:

protected static Logger logger = Logger.getLogger("LoggerExmaple");

And in my main method i'm trying to : 在我的主要方法中,我试图:

MyClass.logger.warn("bli bla blo");

But getting the following error in the console : 但是在控制台中出现以下错误:

log4j:WARN No appenders could be found for logger (LoggerExmaple).
log4j:WARN Please initialize the log4j system properly.

And when i'm trying to do first 当我想先做的时候

BasicConfigurator.configure();

Then my logger output is 然后我的记录器输出是

0 [main] WARN LoggerExmaple  - bli bla blo

My maven dependency for log4j is : 我对log4j的maven依赖是:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.0-beta9</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.0-beta9</version>
</dependency>

Help anyone? 帮助任何人? EDIT: Answers didn't help. 编辑:答案没有帮助。 Anyone? 任何人?

我没有与L4J长期合作,但我认为像Hibernate一样,log4j.prpperties文件应放置在项目内的目录等中

You need to define WARN appender in log4j.properties. 您需要在log4j.properties中定义WARN附加程序。 You have only INFO, CONSOLE and R appenders and you are trying to access WARN. 您只有INFO,CONSOLE和R附加程序,并且您正在尝试访问WARN。 Try adding these lines to your log4j.properties file 尝试将这些行添加到您的log4j.properties文件中

log4j.appender.WARN=org.apache.log4j.FileAppender
log4j.appender.WARN.File=./logs/testlog.log
log4j.appender.WARN.layout=org.apache.log4j.PatternLayout
log4j.appender.WARN.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

and change 并改变

log4j.rootLogger=INFO,CONSOLE,R,WARN

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM