Ведение журнала Apache Commons
Разработчик(и) | Фонд программного обеспечения Apache |
---|---|
Стабильная версия | 1.3.3
/ 30 июня 2024 г |
Репозиторий | github |
Написано в | Ява |
Операционная система | Кросс-платформенный |
Тип | Инструмент регистрации |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | общее достояние |
Apache Commons Logging (ранее известная как Jakarta Commons Logging или JCL ) — это Java на основе утилита ведения журналов и модель программирования для ведения журналов и других наборов инструментов. Он предоставляет API , реализации журналов и реализации оболочек по сравнению с некоторыми другими инструментами. [1] [2] [3]
Уровень журнала
[ редактировать ]В следующей таблице определены уровни журнала и сообщения в журнале Apache Commons Logging в порядке убывания серьезности. В левом столбце указано обозначение уровня журнала, а в правом столбце представлено краткое описание каждого уровня журнала.
Уровень | Описание |
---|---|
смертельный | Серьезные ошибки, приводящие к преждевременному прекращению действия. Ожидайте, что они сразу же появятся на консоли состояния. |
ошибка | Другие ошибки выполнения или непредвиденные условия. Ожидайте, что они сразу же появятся на консоли состояния. |
предупреждать | Использование устаревших API, неправильное использование API, «почти» ошибки, другие ситуации во время выполнения, которые являются нежелательными или неожиданными, но не обязательно «неправильными». Ожидайте, что они сразу же появятся на консоли состояния. |
информация | Интересные события времени выполнения (запуск/выключение). Ожидайте, что они сразу же будут видны на консоли, поэтому будьте консервативны и сведите их к минимуму. |
отлаживать | Подробная информация о прохождении через систему. Ожидайте, что они будут записаны только в журналы. |
след | Самая подробная информация. Ожидайте, что они будут записаны только в журналы. |
Конфигурация
[ редактировать ]В ведении журнала Apache Commons используются две основные абстракции: Log и LogFactory. [3]
Пример
[ редактировать ]Пример кода может выглядеть следующим образом:
package com.cascadetg.ch09;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.impl.Jdk14Logger;
public class LogGenerator
{
// Note that you pass in an instance of this class to the
// log generator. This allows you to find the messages
// generated by this class.
private static Log log = LogFactory.getLog(LogGenerator.class);
public static void configJDKLogger()
{
try
{
((Jdk14Logger)log).getLogger().setLevel(
java.util.logging.Level.ALL);
((Jdk14Logger)log).getLogger().addHandler(
(java.util.logging.FileHandler)Class
.forName("java.util.logging.FileHandler")
.newInstance());
System.out.println("Added JDK 1.4 file handler");
} catch (Exception e)
{
System.out.println("Unable to load JDK 1.4 logging.");
e.printStackTrace();
}
}
public static void main(String[] args)
{
configJDKLogger();
System.setErr(System.out);
System.out.println();
System.out.println("Test fatal log");
try
{
String foo = null;
int x = 0 / (new Integer(foo)).intValue();
} catch (Exception e)
{
log.fatal(e.getMessage(), e);
}
System.out.println();
System.out.println("Test error log");
try
{
Object foo = null;
foo.toString();
} catch (Exception e)
{
log.error(e.getMessage(), e);
}
System.out.println();
System.out.println("Test warn log");
try
{
Class.forName("com.cascadetg.NonexistantClass");
} catch (Exception e)
{
log.warn("Can't find a non-existent class!");
}
System.out.println();
System.out.println("Test info log");
log.info("Starting app!");
log.info("Quitting app!");
System.out.println();
System.out.println("Test debug log");
if (1 > 2)
{
log.debug("1 > 2 evaluated true");
if (10 % 2 == 0)
log.debug("10 % 2 is 0");
else
log.debug("10 % 2 is not 0");
} else
{
log.debug("1 > 2 evaluated false");
}
System.out.println();
System.out.println("Test trace log");
log.trace("Calling trace method.");
log.trace("Calling trace method.");
log.trace("Calling trace method.");
log.trace("Calling trace method.");
log.trace("Calling trace method.");
System.out.println();
System.out.println("Log test complete.");
}
}
См. также
[ редактировать ]- log4j
- Бензопила (просмотрщик файлов журналов)
- ведение журнала commons на GitHub
Ссылки
[ редактировать ]- ^ «Журнал общего пользования» . Apache.org . Апач . Проверено 12 февраля 2016 г.
- ^ Завала, Д.А.; Лау, ЮК (2004). Интеграция ведения журналов Jakarta Commons с IBM WebSphere Application Server V5 . Корпорация IBM. п. 2.
- ^ Перейти обратно: а б с «содержание» . Apache.org . Апач . Проверено 12 февраля 2016 г.
- ^ Перейти обратно: а б Айверсон, В. (2005). Apache Jakarta Commons — многоразовые компоненты Java . Кроуфордсвилл, Индиана, США: Pearson Education, Inc., стр. 120–122.