Spec-Zone .ru
спецификации, руководства, описания, API
|
public class MemoryHandler extends Handler
Обычно этот Handler просто хранит входящий LogRecords в свой буфер памяти и отбрасывает более ранние записи. Эта буферизация очень дешева и избегает форматировать затраты. На определенных триггерных условиях MemoryHandler выставит свое текущее буферное содержание к целевому Handler, который будет обычно публиковать их к внешнему миру.
Есть три основных модели для того, чтобы инициировать нажатие буфера:
Конфигурация: По умолчанию каждый MemoryHandler инициализируется, используя следующие свойства конфигурации LogManager, где <handler-name> обращается к полностью определенному имени class обработчика. Если свойства не определяются (или имейте недопустимые значения), тогда указанные значения по умолчанию используются. Если никакое значение по умолчанию не определяется тогда, RuntimeException бросается.
Например, свойства для MemoryHandler
был бы:
Для пользовательского обработчика, например, com.foo. MyHandler, свойства были бы:
Конструктор и Описание |
---|
MemoryHandler()
Создайте MemoryHandler и сконфигурируйте его основанный на свойствах конфигурации LogManager.
|
MemoryHandler(Handler target, int size, Level pushLevel)
Создайте MemoryHandler.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
close()
Закройте Handler и свободный все связанные ресурсы.
|
void |
flush()
Вызывает сброс на целевом Handler.
|
Уровень |
getPushLevel()
Получите pushLevel.
|
boolean |
isLoggable(LogRecord record)
Проверьте, зарегистрировал ли бы этот Handler фактически данный LogRecord в свой внутренний буфер.
|
void |
publish(LogRecord record)
Сохраните LogRecord во внутреннем буфере.
|
void |
push()
Продвиньте любой буферизованный вывод к целевому Handler.
|
void |
setPushLevel(Level newLevel)
Установите pushLevel.
|
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, reportError, setEncoding, setErrorManager, setFilter, setFormatter, setLevel
public MemoryHandler()
public MemoryHandler(Handler target, int size, Level pushLevel)
MemoryHandler конфигурируется основанный на свойствах LogManager (или их значения по умолчанию) за исключением того, что данный параметр pushLevel и параметр размера буфера используются.
target
- Обработчик, к которому можно опубликовать вывод.size
- число записей журнала, чтобы буферизовать (должно быть больше чем нуль),pushLevel
- уровень сообщения, чтобы спешитьIllegalArgumentException
- если размер <= 0public void publish(LogRecord record)
Если есть Filter, его метод isLoggable вызывают, чтобы проверить, является ли данная запись журнала loggable. Если не мы возвращаемся. Иначе данная запись копируется во внутренний круговой буфер. Затем свойство уровня записи по сравнению с pushLevel. Если данный уровень больше чем или равен pushLevel тогда, push вызывают, чтобы записать, что все буферизованные записи на цель выводят Handler.
public void push()
Буфер тогда очищается.
public void flush()
Отметьте, что текущее содержание буфера MemoryHandler не выписывается. Это требует "нажатия".
public void close() throws SecurityException
close
в class Handler
SecurityException
- если менеджер безопасности существует и если у вызывающей стороны нет LoggingPermission("control").public void setPushLevel(Level newLevel) throws SecurityException
newLevel
- новое значение pushLevelSecurityException
- если менеджер безопасности существует и если у вызывающей стороны нет LoggingPermission("control").public Level getPushLevel()
public boolean isLoggable(LogRecord record)
Этот метод проверяет, есть ли у LogRecord соответствующий уровень и удовлетворяет ли это любой Filter. Однако это не проверяет, привел ли бы LogRecord к "нажатию" буферного содержания. Это возвратит false, если LogRecord будет нулем.
isLoggable
в class Handler
record
- LogRecord
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92