msimplelogger.java

来自「httptunnel.jar httptunnel java 源码」· Java 代码 · 共 125 行

JAVA
125
字号
package net.jumperz.app.MGuardian;

import net.jumperz.util.*;
import net.jumperz.net.*;
import java.io.*;
import java.util.*;
import java.net.*;

public final class MSimpleLogger
implements MObserver2, MLogger
{
private static final int BUFSIZE = 1024;
private static final MSimpleLogger instance = new MSimpleLogger();

private Map methodMap = new HashMap();
private MObserver2 observer = new MSyncObserver( this );
private MStandardLogger standardLogger = MStandardLogger.getInstance();
//--------------------------------------------------------------------------------
public static MSimpleLogger getInstance()
{
return instance;
}
//--------------------------------------------------------------------------------
private MSimpleLogger()
{
}
//--------------------------------------------------------------------------------
public void addStream( OutputStream stream )
{
standardLogger.addStream( stream );
}
//--------------------------------------------------------------------------------
public void update( Object eventName, Object source )
{
observer.update( eventName, source );
}
//--------------------------------------------------------------------------------
public void getTimeoutLog( MSession session )
{
StringBuffer strBuf = new StringBuffer( BUFSIZE );
strBuf.append( session.getClientRemoteAddr() );
strBuf.append( ":" );
strBuf.append( session.getClientRemotePort() );
strBuf.append( " " );
strBuf.append( "Session timed out." );
log( strBuf.toString() );
}
//--------------------------------------------------------------------------------
public void getPluginAlertLog( MSession session )
{
StringBuffer strBuf = new StringBuffer( BUFSIZE );
strBuf.append( MSession.SEC_LOG_PREFIX );
strBuf.append( session.getClientRemoteAddr() );
strBuf.append( ":" );
strBuf.append( session.getClientRemotePort() );
strBuf.append( ":PLUGIN:" );
strBuf.append( session.getPluginClassName() );
strBuf.append( ":" );
strBuf.append( session.getPluginMessage() );
strBuf.append( ":" );
strBuf.append( session.getLogId() );
log( strBuf.toString() );
}
//--------------------------------------------------------------------------------
public void getAlertLog( MSession session )
{
StringBuffer strBuf = new StringBuffer( BUFSIZE );
strBuf.append( MSession.SEC_LOG_PREFIX );
strBuf.append( session.getClientRemoteAddr() );
strBuf.append( ":" );
strBuf.append( session.getClientRemotePort() );
strBuf.append( ":" );
strBuf.append( session.getTriggeredRule().toString() );
strBuf.append( ":" );
strBuf.append( session.getLogId() );
log( strBuf.toString() );
}
//--------------------------------------------------------------------------------
public void getExceptionLog( MSession session )
{
Socket clientSideSocket = session.getClientSideSocket();
Exception e = session.getException();
if( clientSideSocket != null
 && e != null )
	{
	log( clientSideSocket + e.toString() );
	}
}
//--------------------------------------------------------------------------------
public void getAccessLog( MSession session )
{
String hostField = session.getHostField();
StringBuffer s = new StringBuffer( BUFSIZE );
s.append( session.getClientRemoteAddr() );
s.append( ":" );
s.append( session.getClientRemotePort() );
s.append( " " );
s.append( session.getClientLocalAddr() );
s.append( ":" );
s.append( session.getClientLocalPort() );
s.append( " " );
s.append( session.getHostField() );
s.append( " " );
s.append( session.getProtocol() );
s.append( " " );
s.append( session.getRequest().getRequestLine() );
s.append( " " );

MHttpResponse response = session.getResponse();
String sessionResult = session.getSessionResult();

if( response != null && sessionResult == null )
	{
	sessionResult = String.valueOf( response.getStatusCode() );
	}
s.append( sessionResult );
log( s.toString() );
}
//--------------------------------------------------------------------------------
public void log( String message )
{
standardLogger.log( message );
}
//--------------------------------------------------------------------------------	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?