0

从配置文件读取并注入属性后如何初始化 Log4j 的实例

我的代码是:

private static String LogPath;

@Value("#{settings['LogDirPath']}")
private static void setLogDirPath(String LogDirPath)
{
        LogPath = LogDirPath;
}

private static final Logger fileLogger = LoggerSetup.GetLogger(<Class Name>, <Logger Name>, LogPath);

但是,当我进入 GetLogger 时,日志路径始终为空。

如何确保在配置文件注入完成后调用 fileLogger?

更新1:

@Value("#{settings['LogDirPath']}")
private  String LogPath;

private static Logger googleLogger = LoggerSetup.GetLogger(<Class Name>, <Logger Name>, LogPath);
4

1 回答 1

0

在方法中初始化 fileLogger 变量(因此不能是最终变量)setLogDirPath()。类字段在类加载时初始化,然后才能调用类的任何方法。

也就是说,我很确定您不能在静态方法上使用此注释。Spring 注入字段、构造函数或实例设置方法。

于 2013-02-22T23:21:17.353 回答