LOG4J Загрузить несколько файлов log4j - PullRequest
0 голосов
/ 11 октября 2011

У меня в приложении есть пять разных файлов свойств log4j для каждого события.Я не хочу, чтобы приложение загружало файл, используя DOM или PropertyConfigurator.Но я хочу загрузить все эти свойства в Map с именем события в качестве ключа и Properties или Logger в качестве значения.Так что, когда я вызываю метод getLogger с именем события, будет возвращен соответствующий объект регистратора, основанный на имени события.

Реализация в этом посте помогает мне в некоторой степени. log4j имена файлов журнала? Они динамически создают объекты регистратора на основе задания.Но я хочу использовать статический файл log4j для каждого события, загрузить его и вернуть.

Я также проверил ответ в этом посте. множественная конфигурация экземпляра log4j Но так как имена событий и список добавляемых для каждого события будут огромными в моем приложении, для удобства обслуживания я выбираю один файл log4j для каждого события.*

Ожидаю вашей помощи по этому вопросу.Спасибо, Радхика

1 Ответ

0 голосов
/ 12 октября 2011

У меня есть файлы log4j для каждого определенного события. Передайте имя события и, используя конфигуратор свойств, загрузите специфичный для события файл свойств log4j в контексте. В этом случае метод getLogger будет иметь этот Logger.

private static synchronized Logger getEventLogger(String eventName) {
Logger logger = null;
    try {

        logger = m_loggers.get(eventName);
        if (logger == null) {
            PropertyConfigurator.configure(eventName + ".properties");
            logger = Logger.getLogger(eventName);
            m_loggers.put(eventName, logger);

        }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return logger;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...