【问题标题】:Strange log4j declaration奇怪的 log4j 声明
【发布时间】:2015-07-31 12:22:16
【问题描述】:

我有一个旧项目的问题:日志文件没有附加到 Eclipse 的控制台视图中。不是在 log4j.xml 或 log4j.properties 中声明 log4j 使用的属性,而是在 java 中定义记录器:

import org.apache.log4j.FileAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;


public class GCLogger {
    private static GCLogger _self;
    private Logger logger;

    private static final String NAME_FILE = "fichierLog.log";

    public static GCLogger getInstance() {
        if (_self == null || _self.logger == null) {
            GCLogger logger = new GCLogger();
            logger.initLogger();
            _self = logger;
        }
        return _self;
    }

    public void error(String msg, Exception e) {
        if (logger != null) {
            logger.error(msg, e);
        }
    }

    public void debug(String msg) {
        if (logger != null) {
            logger.debug(msg);
        }
    }

    private void initLogger() {
        logger = Logger.getRootLogger();
        FileAppender fa = new FileAppender();
        PatternLayout monLayout = new PatternLayout("%d{DATE} - %5p %c{1} - %m%n");
        logger.removeAllAppenders();

        try {
            File repLogs = new File(GCConstants.GC_REPERTOIRE_LOGS);
            if (!repLogs.exists()) {
                repLogs.mkdir();
            }

            fa = new FileAppender(monLayout, GCConstants.GC_REPERTOIRE_LOGS + File.separator + NAME_FILE, true);
            fa.activateOptions();
            fa.setImmediateFlush(true);

            logger.addAppender(fa);
            logger.setLevel(Level.ALL);

        } catch(Exception e) {
            logger = null;
        }
    }
}

有没有简单的方法在控制台视图中显示fichierLog.log(使用eclipse配置)?

如果没有,让它起作用的最小改变是什么?

【问题讨论】:

    标签: java eclipse logging log4j


    【解决方案1】:

    最小更改 - 添加控制台附加程序:

    ConsoleAppender console = new ConsoleAppender(monLayout); // re-use the layout
    logger.addAppender(console);
    

    但是,如果您要对代码库进行其他更改,我强烈建议您将其更改为使用外部配置 - 从长远(可能是短期)来看,这会让您的生活更加轻松。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      • 2012-10-25
      相关资源
      最近更新 更多