Log4j的PropertyConfigurator已不存在?
我只在控制台上得到这个:
13:08:18.379[Main]错误日志4.prueba-这是错误
13:08:18.381[Main]致命的log4.prueba-这是致命的
我没有得到文件或所有其他级别。 我做错了什么? 我的目录如下所示:
project文件夹/src/log4/prueba.java
项目文件夹/src/log4j.properties
代码:
package log4;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class prueba {
private static Logger logger = LogManager.getLogger(prueba.class);
public static void main( String[] args )
{
logger.debug("This is Debug");
logger.info("This is Info");
logger.warn("This is Warn");
logger.error("This is Error");
logger.fatal("This is Fatal");
}
}
和属性文件如下所示:
# Root logger option
log4j.rootLogger=DEBUG, file, stdout
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\logging.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p
%c{1}:%L - %m%n
# Direct log messages to 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{yyyy-MM-dd HH:mm:ss} %-5p
%c{1}:%L - %m%n
解决方案
Log4j 2也支持属性文件中的配置,但请注意:
- 文件需要命名为
log4j2.properties
- configuration syntax与Log4j 1.2语法不同(问题中的配置使用旧的Log4j 1.2语法,Log4j 2无法理解这一点)
Log4j 2用户手册中包含的大部分是XML示例,因此许多人发现使用XML配置语法更容易。(同样,配置文件应命名为log4j2.xml
,Log4j 2将忽略log4j.xml
。)
相关文章