Как получить экземпляр 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, то LogPath всегда нуль.
Как я могу гарантировать, что fileLogger вызывается после завершения вставки файла конфигурации?
Update1:
@Value("#{settings['LogDirPath']}")
private String LogPath;
private static Logger googleLogger = LoggerSetup.GetLogger(<Class Name>, <Logger Name>, LogPath);
Было бы лучше иметь его, как показано в «UPDATE1» в моем операционном? Что дает мне «последний»? – user721264
Это даже не компилируется. Вы имеете в виду поле экземпляра из статического инициализатора. Кроме того, соблюдайте соглашения об именах Java: переменные начинаются с строчной буквы. Ваш регистратор не должен быть статичным. –
Я не работаю с моим кодом и будет PIA для рефакторинга, чтобы исправить соглашение об именах/стиле. – user721264