регистрация исключений в файл - PullRequest
2 голосов
/ 02 февраля 2012

У меня есть отдельный класс.Я должен предоставить механизм регистрации для этого файла, чтобы регистрировать весь происходящий процесс, включая исключения.Позже это будет интегрировано с банкой или около того.Каков наилучший механизм регистрации, который был бы совместим даже после интеграции.Так как у меня просто файл класса, который не включен в jar, возможно ли использовать log4J?приветствуются другие предложения.

Ответы [ 3 ]

3 голосов
/ 02 февраля 2012

Возможно, вы захотите использовать LogBack в качестве реализации универсального фреймворка slf4j.Обратите внимание, что log4j также является реализацией slf4j, и это означает, что если вы программируете интерфейс slf4, вы можете обмениваться logback и log4j, просто заменив один jar другим.Сделайте первые шаги ребенка и обратите внимание на общий импорт этого введения ссылка .С помощью logback вы можете указать своему приложению, где искать файл конфигурации, указав следующее: -Dlogback.configurationFile=path/filename.ext

Исключение, которое вы получаете (описано в вашем комментарии), означает, что вы, вероятно, не настроили log4j или что вашприложению не удалось найти файл конфигурации.

Написание собственного класса логгера или использование класса, предоставляемого пакетом util, вероятно, не очень хорошая идея ..

2 голосов
/ 02 февраля 2012

Вы можете использовать java.util.logging.Logger, это часть Java начиная с 1.4.2 (как минимум).

Но самое подходящее, что вы можете сделать, - это использовать каркас ведения журнала, который вы будете использовать, когда ваш класс будет интегрирован в остальную часть проекта.

1 голос
/ 02 февраля 2012

Я могу порекомендовать использовать статический класс, который вы можете определить самостоятельно. Например что-то вроде этого:

class Logger {
    public Logger() {
        //you can create/open a log file here
    }
    public static void log(String message, int messageType) {
        //write to the file, or whatever you want to do with the message
        System.out.println(message);
    }
}

Вызов нового регистратора (); где-то во время запуска вашей программы. Теперь вы можете звонить куда угодно

Logger.log(message);

В моем случае этого было более чем достаточно, хотя и очень просто. Я не знаком с библиотеками, такими как log4j, которые могут включать в себя больше возможностей.

...