为log4j2加载log4j.properties

时间:2016-10-09 11:33:43

标签: java logging log4j2

请检查项目结构的附图,如果我将log4j2.properties定位好,请告诉我。 还看看我正在使用的罐子版本。 我写了一个简单的程序来在控制台上打印日志。为了实现这一点,我写了log4j2.properties文件如下。

根记录器选项

log4j.rootLogger = INFO,file

log4j.appender.file = org.apache.logging.log4j.core.appender.ConsoleAppender

log4j.appender.file.Target = System.out的

log4j.appender.file.Layout = org.apache.logging.log4j.core.layout.PatternLayout

log4j.appender.file.Layout.ConversionPattern =%d {yyyy-MM-dd HH:mm:ss}%-5p%c {1}:%L - %m%n

主程序如下。(也显示在图像中)

package goldensource.track.logs;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.util.PropertiesUtil;

public class TestLogger {


    private Logger logger;
    private PropertiesUtil pu;
    TestLogger()
    {

        System.setProperty("log4j.configurationFile","log4j2.properties");
        logger =   LogManager.getLogger(TestLogger.class);
        logger.info("Yes I am there!");
        logger.debug("I am debugging!");
        logger.warn("giving you a warner!");


    }

    public static void main(String[] args) {
        TestLogger z = new TestLogger();


    }}

我创建了一个PropertiesUtil的引用,但无论如何我都没有使用它。

当我执行此程序时,控制台上没有显示任何内容。我可以说,我无法正确加载属性文件。

建议我对示例进行任何修改或替代。

提前致谢!

project Structure

1 个答案:

答案 0 :(得分:0)

如果没有任何关于您所获得的错误的反馈,我可以猜测其中一个问题是文件名。在设置系统属性时,应指定log4j2.properties文件的绝对路径:

System.setProperty("log4j.configurationFile","/absolute/path/to/log4j2.properties");

通过这种方式,记录器系统将确切地知道在哪里找到您的文件。

相关问题