⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstracttarget.java

📁 基于Jabber协议的即时消息服务器
💻 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 + -