Анализатор протокола и трассировки обеспечивает автономную и модульную поддержку следующих средств ведения протоколов:
Эта поддержка предусматривает:
Поддержка этих функций обеспечивается следующими модулями:
Утилита ведения протоколов |
Файлы JAR модулей |
---|---|
Ведение протоколов Java (JSR-047) |
org.eclipse.hyades.logging.core\hl14.jar |
Общие средства ведения протоколов Apache Jakarta |
org.eclipse.hyades.logging.core\hlcommons.jar |
Ведение протоколов Apache Jakarta Log4J |
org.eclipse.hyades.logging.core\hllog4j.jar |
Событие общего формата EMF V1.0.1 |
org.eclipse.hyades.logging.core\hlcbe101.jar |
В приведенных ниже разделах подробно описана поддержка каждой утилиты ведения протоколов, а также даны указатели на примеры использования.
Расширение класса java.util.logging.LogRecord в пакете org.eclipse.hyades.logging.java14 позволяет создавать пользовательскую запись протокола для ведения протокола org.eclipse.hyades.logging.events.cbe.CommonBaseEvent в java.util.logging.LogRecord. org.eclipse.hyades.logging.java14.CommonBaseEventLogRecord расширяет java.util.logging.LogRecord и содержит ссылку на org.eclipse.hyades.logging.events.cbe.CommonBaseEvent. Все свойства java.util.logging.LogRecord преобразуются в одно или несколько свойств события общего формата для поддержания возвратности обработчиков и верстальщиков, не поддерживающих события общего формата.
Реализация интерфейса java.util.logging.Filter в пакете org.eclipse.hyades.logging.java14 позволяет успешно вести протокол только для org.eclipse.hyades.logging.java14.CommonBaseEventLogRecord.
Расширение абстрактного класса java.util.logging.Formatter в пакете org.eclipse.hyades.logging.java14 позволяет настраивать обработчики таким образом, чтобы они создавали сообщения протоколов org.eclipse.hyades.logging.java14.CommonBaseEventLogRecord и java.util.logging.LogRecord в формате XML. Верстальщик org.eclipse.hyades.logging.java14.XmlFormatter преобразует сообщения протокола org.eclipse.hyades.logging.java14.CommonBaseEventLogRecord или java.util.logging.LogRecord в формат XML на основе схемы v1.0.1 для событий общего формата. При форматировании проверяется, реализует ли сообщение протокола интерфейс org.eclipse.hyades.logging.core.IExternalizableToXml (например, org.eclipse.hyades.logging.java14.CommonBaseEventLogRecord). Если проверка проходит успешно, то вместо сериализации XML вызывается API externalizeCanonicalXmlString(). В противном случае, сообщение протокола java.util.logging.LogRecord преобразуется в объект события общего формата с помощью такого же способа преобразования, что и в org.eclipse.hyades.logging.events.cbe.CommonBaseEvent, и сериализуется в XML путем вызова API externalizeCanonicalXmlString().
Расширение абстрактного класса java.util.logging.Handler
в пакете org.eclipse.hyades.logging.java позволяет настраивать средства ведения протоколов таким образом, чтобы они могли записывать сообщения протоколов org.eclipse.hyades.logging.events.cbe.CommonBaseEvent и
java.util.logging.LogRecord в агент протокола.
Обработчик org.eclipse.hyades.logging.java.LoggingAgentHandler проверяет, можно ли записать сообщение протокола org.eclipse.hyades.logging.java14.CommonBaseEventLogRecord или java.util.logging.LogRecord, переданное в средство ведения протоколов, на основе фильтра средства ведения протоколов и обработчика, а также уровня ведения протокола. Если сообщение может быть записано, то агент протокола обрабатывается с тем же именем, что и средство ведения протоколов, которое записывает сообщение. В противном случае можно использовать обработчик org.eclipse.hyades.logging.java.SingleLoggingAgentHandler, создающий один агент протокола, который называется Обработчик агента протокола. Сообщение форматируется в XML с помощью средстваorg.eclipse.hyades.logging.java.XmlFormatter и записывается в агент протокола.
Пояснительный пример
Работа с поддержкой ведения протоколов Java JSR-047 показана на примере настройки и инструментария, необходимых для новых и существующих пользователей автономной и модульной поддержки ведения протоколов Java JSR-047. Для получения дополнительной информации откройте Файл > Создать > Пример... > Пример ведения протокола JSR-047.
Реализация интерфейса org.apache.commons.logging.Log в пакете org.eclipse.hyades.logging.commons позволяет создать средство ведения протоколов для записи сообщений протоколов org.eclipse.hyades.logging.events.cbe.CommonBaseEvent, java.lang.Object и java.lang.Throwable. Средство org.eclipse.hyades.logging.commons.Logger проверяет, можно ли записать переданное в него сообщение протокола org.eclipse.hyades.logging.events.cbe.CommonBaseEvent, java.lang.Object или java.lang.Throwable на основе уровня ведения протоколов этого средства. Если сообщение org.eclipse.hyades.logging.events.cbe.CommonBaseEvents, java.lang.Object или java.lang.Throwable может быть записано, то оно форматируется и записывается. Предусмотрена реализация абстрактного класса org.apache.commons.logging.LogFactory, которая представляет фабрику-посредник, относящуюся к экземплярам org.eclipse.hyades.logging.commons.Logger. Фабрика-посредник org.eclipse.hyades.logging.commons.LoggerFactory предназначена для работы в средах с несколькими загрузчиками классов, где для каждого загрузчика необходимо наличие одного или нескольких типов средств ведения протоколов и их фабрик, причем все они должны использовать одни и те же двоичные общих средств Apache.
Средство org.eclipse.hyades.logging.commons.Logger форматирует сообщения org.eclipse.hyades.logging.events.cbe.CommonBaseEvent, java.lang.Object и java.lang.Throwable в XML на основе схемы v1.0.1 для событий общего формата. При форматировании проверяется, реализует ли сообщение протокола интерфейс org.eclipse.hyades.logging.core.IExternalizableToXml (например, org.eclipse.hyades.logging.events.cbe.CommonBaseEvent). Если проверка проходит успешно, то вместо сериализации XML вызывается API externalizeCanonicalXmlString(). В противном случае, сообщение протокола java.lang.Object или java.lang.Throwable преобразуется в объект события общего формата с помощью методов org.eclipse.hyades.logging.events.cbe.util.EventHelpers.convertObjectToCommonBaseEvent() и сериализуется в XML путем вызова API externalizeCanonicalXmlString().
Средство org.eclipse.hyades.logging.commons.Logger записывает сообщения org.eclipse.hyades.logging.events.cbe.CommonBaseEvent, java.lang.Object и java.lang.Throwable в агент протокола. Если сообщение может быть записано, то агент протокола обрабатывается с тем же именем, что и средство ведения протоколов, которое записывает сообщение. Сообщение форматируется в XML и записывается в агент протокола.
Реализация интерфейса org.apache.commons.logging.Log в пакете org.eclipse.hyades.logging.commons позволяет создать средство ведения протоколов для записи сообщений протоколов org.eclipse.hyades.logging.events.cbe.CommonBaseEvent, java.lang.Object и java.lang.Throwable в локальный файл. Средство org.eclipse.hyades.logging.commons.FileLogger проверяет, можно ли записать переданное в него сообщение протокола org.eclipse.hyades.logging.events.cbe.CommonBaseEvent, java.lang.Object или java.lang.Throwable на основе уровня ведения протоколов этого средства. Если сообщение org.eclipse.hyades.logging.events.cbe.CommonBaseEvent, java.lang.Object или java.lang.Throwable может быть записано, то оно форматируется в XML и записывается в локальный файл. Предусмотрена реализация абстрактного класса org.apache.commons.logging.LogFactory, которая представляет фабрику-посредник, относящуюся к экземплярам org.eclipse.hyades.logging.commons.FileLogger. Фабрика-посредник org.eclipse.hyades.logging.commons.FileLoggerFactory предназначена для работы в средах с несколькими загрузчиками классов, где для каждого загрузчика необходимо наличие одного или нескольких типов средств ведения протоколов и их фабрик, причем все они должны использовать одни и те же двоичные общих средств Apache.
Пояснительный пример
Работа с поддержкой общих средств ведения протоколов Apache Jakarta показана на примере настройки и инструментария, необходимых для новых и существующих пользователей автономной и модульной поддержки общих средств ведения протоколов Apache Jakarta. Для получения дополнительной информации откройте Файл > Создать > Пример... > Пример общих средств ведения протоколов Apache.
Свойство сообщения org.apache.log4j.spi.LoggingEvent позволяет записывать org.eclipse.hyades.logging.events.cbe.CommonBaseEvent.
Расширение абстрактного класса org.apache.log4j.spi.Filter в пакете org.eclipse.hyades.logging.log4j позволяет успешно вести протокол только org.eclipse.hyades.logging.events.cbe.CommonBaseEvent.
Расширение абстрактного класса org.apache.log4j.Layout в пакете org.eclipse.hyades.logging.log4j позволяет настраивать средства прикрепления таким образом, чтобы они записывали сообщения протоколов org.eclipse.hyades.logging.events.cbe.CommonBaseEvent и org.apache.log4j.spi.LoggingEvent в формате XML. Верстальщик org.eclipse.hyades.logging.log4j.XmlLayout преобразует сообщения протокола org.eclipse.hyades.logging.events.cbe.CommonBaseEvent или org.apache.log4j.spi.LoggingEvent в XML на основе схемы событий общего формата версии 1.0.1. При форматировании проверяется, реализует ли свойство org.apache.log4j.spi.LoggingEvent интерфейс org.eclipse.hyades.logging.core.IExternalizableToXml (например, org.eclipse.hyades.logging.events.cbe.CommonBaseEvent). Если проверка проходит успешно, то вместо сериализации XML вызывается API externalizeCanonicalXmlString(). В противном случае, сообщение протоколаorg.apache.log4j.spi.LoggingEvent преобразуется в объект события общего формата с помощью методов org.eclipse.hyades.logging.events.cbe.util.EventHelpers.convertObjectToCommonBaseEvent() и сериализуется в XML путем вызова API externalizeCanonicalXmlString().
Расширение абстрактного класса org.apache.log4j.AppenderSkeleton
в пакете org.eclipse.hyades.logging.log4j позволяет настраивать средства ведения протоколов таким образом, чтобы они могли записывать сообщения org.eclipse.hyades.logging.events.cbe.CommonBaseEvent и
org.apache.log4j.spi.LoggingEvent в агент протокола.
Средство прикрепления org.eclipse.hyades.logging.log4j.LoggingAgentAppender проверяет, можно ли записать переданное в средство ведения протоколов сообщение org.eclipse.hyades.logging.events.cbe.CommonBaseEvent и org.apache.log4j.spi.LoggingEvent на основе фильтра средства ведения протоколов и средства прикрепления, а также уровня ведения протоколов. Если сообщение протокола может быть записано, то агент протокола обрабатывается с тем же именем, что и средство ведения протоколов, которое записывает сообщение. В противном случае можно использовать средство прикрепленияorg.eclipse.hyades.logging.log4j.SingleLoggingAgentAppender, создающее один агент протокола, который называется Средство прикрепления агента протокола. Сообщение форматируется в XML с помощью org.eclipse.hyades.logging.log4j.XmlLayout и записывается в агент протокола.
Пояснительный пример
Работа с поддержкой общих средств ведения протоколов Apache Jakarta Log4J показана на примере настройки и инструментария, необходимых для новых и существующих пользователей автономной и модульной поддержки общих средств ведения протоколов Apache Jakarta Log4J. Для получения дополнительной информации откройте Файл > Создать > Пример... > Пример общих средств ведения протоколов Apache Log4J.
Пояснительный пример
Для иллюстрации использования поддержки для событий общего формата EMF создан пример, в котором показано создание и настройка событий общего формата с помощью фабрики событий из шаблона файла XML событий общего формата. Для получения дополнительной информации откройте Файл > Создать > Пример... > Пример события общего формата EMF v1.0.1.
Связанные концепции
Модель событий общего формата
(C) Copyright IBM Corporation 2000, 2006.Все права защищены.