📄 abstracttarget.java
字号:
/* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */package org.jivesoftware.util.log.output;import org.jivesoftware.util.log.ErrorAware;import org.jivesoftware.util.log.ErrorHandler;import org.jivesoftware.util.log.LogEvent;import org.jivesoftware.util.log.LogTarget;/** * Abstract target. * * @author <a href="mailto:peter@apache.org">Peter Donald</a> */public abstract class AbstractTarget implements LogTarget, ErrorAware { ///ErrorHandler used by target to delegate Error handling private ErrorHandler m_errorHandler; ///Flag indicating that log session is finished (aka target has been closed) private boolean m_isOpen; /** * Provide component with ErrorHandler. * * @param errorHandler the errorHandler */ public synchronized void setErrorHandler(final ErrorHandler errorHandler) { m_errorHandler = errorHandler; } protected synchronized boolean isOpen() { return m_isOpen; } /** * Startup log session. */ protected synchronized void open() { if (!isOpen()) { m_isOpen = true; } } /** * Process a log event, via formatting and outputting it. * * @param event the log event */ public synchronized void processEvent(final LogEvent event) { if (!isOpen()) { getErrorHandler().error("Writing event to closed stream.", null, event); return; } try { doProcessEvent(event); } catch (final Throwable throwable) { getErrorHandler().error("Unknown error writing event.", throwable, event); } } /** * Process a log event, via formatting and outputting it. * This should be overidden by subclasses. * * @param event the log event */ protected abstract void doProcessEvent(LogEvent event) throws Exception; /** * Shutdown target. * Attempting to send to target after close() will cause errors to be logged. */ public synchronized void close() { if (isOpen()) { m_isOpen = false; } } /** * Helper method to retrieve ErrorHandler for subclasses. * * @return the ErrorHandler */ protected final ErrorHandler getErrorHandler() { return m_errorHandler; } /** * Helper method to send error messages to error handler. * * @param message the error message * @param throwable the exception if any * @deprecated Use getErrorHandler().error(...) directly */ protected final void error(final String message, final Throwable throwable) { getErrorHandler().error(message, throwable, null); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -