Logger входит в собственный пакет log4j. Если вы используете Logger.getLogger, вам понадобится jar-пакет log4j. Таким образом, вы можете полагаться только на log4j:
LogFactory входит в состав пакета общего журналирования. Если вы используете LogFactory.getLog, вы можете заменить log4j любым средством ведения журнала, реализующим общий интерфейс ведения журнала, и это не повлияет на программу. Пакет общего ведения журнала Apache представляет собой универсальный интерфейс ведения журнала. С помощью этого среднего уровня вы можете указать, какую систему ведения журнала использовать. Повысьте гибкость системы. Если log4j не существует, commons-logging выберет другие классы реализации журнала. Это гарантирует, что файл журнала log4j не будет использоваться в программе.
Причины повышенной гибкости:
1) Сначала найдите свой собственный файл конфигурации commons-logging.properties в пути к классам. Если он найден, используйте определенный в нем класс реализации журнала;
2) Если файл commons-logging.properties не найден, проверьте, определена ли переменная системной среды org.apache.commons.logging.Log. Если она найдена, используйте класс реализации журнала, определенный ею;
3) В противном случае проверьте, есть ли в пути к классам пакет Log4j. Если он найден, Log4j будет автоматически использоваться в качестве класса реализации журнала;
4) В противном случае используйте собственный класс реализации журнала JDK (класс реализации журнала доступен только после JDK1.4);
5) В противном случае используйте простой класс реализации журнала SimpleLog, предоставляемый commons-logging;
Чтобы упростить настройку commons-logging, файл конфигурации commons-logging обычно не используется, а переменные системной среды, связанные с commons-logging, не устанавливаются. Вместо этого пакет Jar Log4j просто помещается в classpash. Таким образом, интеграция commons-logging и Log4j выполняется очень просто.
По различным свойствам информация журнала обычно делится на разные уровни, от низкого к высокому: «Отладка (DEBUG)», «Информация (INFO)», «Предупреждение (WARN)», «Ошибка (ERROR)», «Неустранимая ошибка (FATAL)». ".
В зависимости от режима работы с общим журналированием:
Скопируйте код кода следующим образом:
пакет орг;
импортировать org.apache.commons.logging.Log;
импортировать org.apache.log4j.Logger;
Открытый класс Test расширяет TagSupport{
публичный статический журнал log=LogFactory.getLog(Test.class);
публичный статический тест на пустоту()
{
log.debug("111");
log.info("125");
log.warn("485");
log.error("ошибка");
}
public static void main(String[] a)
{
Тест.тест();
}
}
Метод работы на основе log4j
Скопируйте код кода следующим образом:
импортировать org.apache.log4j.Logger;
импортировать org.apache.log4j.PropertyConfigurator;
общественный класс TestLog4j {
статический регистратор = Logger.getLogger(TestLog4j.class);
public static void main(String args[]) {
PropertyConfigurator.configure("log4j.properties");
logger.debug("Вот немного отладки");
logger.info("Вот некоторая ИНФОРМАЦИЯ");
logger.warn("Вот немного ПРЕДУПРЕЖДЕНИЯ");
logger.error("Вот какая-то ОШИБКА");
logger.fatal("Вот что-то ФАТАЛЬНОЕ");
}
}
commons-logging обеспечивает только уровень упаковки для Log4j (включая, конечно, другие реализации LOG). Конкретные выходные данные журнала по-прежнему передаются внутри Log4j для обработки, и log4j по умолчанию переходит в каталог классов, чтобы найти файл log4j.properties. файл.