Jump to content

Ведение журнала Apache Commons

Ведение журнала Apache Commons
Разработчик(и) Фонд программного обеспечения Apache
Стабильная версия
1.3.3 / 30 июня 2024 г .; 27 дней назад ( 30.06.2024 )
Репозиторий github /апач /commons-ведение журнала
Написано в Ява
Операционная система Кросс-платформенный
Тип Инструмент регистрации
Лицензия Лицензия Апач 2.0
Веб-сайт общее достояние .apache .org /правильный /commons-ведение журнала /

Apache Commons Logging (ранее известная как Jakarta Commons Logging или JCL ) — это Java на основе утилита ведения журналов и модель программирования для ведения журналов и других наборов инструментов. Он предоставляет API , реализации журналов и реализации оболочек по сравнению с некоторыми другими инструментами. [1] [2] [3]

Уровень журнала

[ редактировать ]

В следующей таблице определены уровни журнала и сообщения в журнале Apache Commons Logging в порядке убывания серьезности. В левом столбце указано обозначение уровня журнала, а в правом столбце представлено краткое описание каждого уровня журнала.

Уровень Описание
смертельный Серьезные ошибки, приводящие к преждевременному прекращению действия. Ожидайте, что они сразу же появятся на консоли состояния.
ошибка Другие ошибки выполнения или непредвиденные условия. Ожидайте, что они сразу же появятся на консоли состояния.
предупреждать Использование устаревших API, неправильное использование API, «почти» ошибки, другие ситуации во время выполнения, которые являются нежелательными или неожиданными, но не обязательно «неправильными». Ожидайте, что они сразу же появятся на консоли состояния.
информация Интересные события времени выполнения (запуск/выключение). Ожидайте, что они сразу же будут видны на консоли, поэтому будьте консервативны и сведите их к минимуму.
отлаживать Подробная информация о прохождении через систему. Ожидайте, что они будут записаны только в журналы.
след Самая подробная информация. Ожидайте, что они будут записаны только в журналы.

[3] [4]

Конфигурация

[ редактировать ]

В ведении журнала 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.");
  }
}

[4]

См. также

[ редактировать ]
  1. ^ «Журнал общего пользования» . Apache.org . Апач . Проверено 12 февраля 2016 г.
  2. ^ Завала, Д.А.; Лау, ЮК (2004). Интеграция ведения журналов Jakarta Commons с IBM WebSphere Application Server V5 . Корпорация IBM. п. 2.
  3. ^ Перейти обратно: а б с «содержание» . Apache.org . Апач . Проверено 12 февраля 2016 г.
  4. ^ Перейти обратно: а б Айверсон, В. (2005). Apache Jakarta Commons — многоразовые компоненты Java . Кроуфордсвилл, Индиана, США: Pearson Education, Inc., стр. 120–122.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3e3eaab65ee35fa3edbedeca69c45d93__1721321700
URL1:https://arc.ask3.ru/arc/aa/3e/93/3e3eaab65ee35fa3edbedeca69c45d93.html
Заголовок, (Title) документа по адресу, URL1:
Apache Commons Logging - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)