remotelogbuffer.java
来自「主要是对串口驱动的的一些控制源码!!! 在下载javacomm20-win32」· Java 代码 · 共 118 行
JAVA
118 行
/**
* $Log: RemoteLogBuffer.java,v $
* Revision 1.2 2003/02/01 17:39:15 willaxt
* now externalizable
*
* Revision 1.1 2003/01/16 13:12:40 mwulff
* initial version
*
* Revision 1.4 2002/12/20 18:52:25 mwulff
* no message
*
* Revision 1.3 2002/12/15 16:55:07 mwulff
* adjusted to reorganisation of the client logging system
*
* Revision 1.2 2002/12/13 20:08:34 mwulff
* no message
*
* Revision 1.1 2002/12/05 21:31:46 mwulff
* initial version
*
*/
package de.fhm.jkf.comm.cl;
import java.io.Serializable;
import java.util.Vector;
import org.apache.log4j.spi.LoggingEvent;
/**
* @author marten wulff
*
* * <br><br><center><table border="1" width="80%"><hr>
* <strong><a href="http://jkf.sourceforge.net">The JKF Project</a></strong>
* <p>
* Copyright (C) 2002 by Marten Wulff
* <p>
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* <p>
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* <p>
* You should have received a copy of the <a href="http://www.gnu.org/copyleft/lesser.html">
* GNU Lesser General Public License</a> along with this library; if not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
* <hr></table></center>
*
* This class is not externalizable, because it would need a public default
* constructor. This would really break the singleton.
*
* @stereotype singleton
*/
public class RemoteLogBuffer implements Serializable {
private static RemoteLogBuffer instance = null;
private static Object semaphore = new Object();
private Vector logBuffer = null;
/**
* Constructor for RemoteLogBuffer.
*/
private RemoteLogBuffer() {
super();
logBuffer = new Vector();
}
public static RemoteLogBuffer instance() {
if(instance == null) {
synchronized(semaphore) {
if(instance == null) {
instance = new RemoteLogBuffer();
}
}
}
return instance;
}
/**
* This method is called by class JKFAppender if
* a new LoggingEvent has arrived. The LoggingEvent
* is stored into a Vector for later transferation
* to the server.
*
* @param ev a LoggingEvent that has to be stored
*/
public void addLogMessage(LoggingEvent ev) {
logBuffer.addElement(ev);
}
/**
* Returns a clone of the logBuffer Vector, that holds
* all current LoggingEvents. After cloning the logBuffer
* is cleared.
*
* @return Vector a clone of the logBuffer containing all
* current logs.
*/
synchronized Vector getLogMessages() {
// clone the logBuffer
Vector result = (Vector) logBuffer.clone();
// clear the logBuffer
logBuffer.clear();
// return the clone
return result;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?