📄 logger.java.svn-base
字号:
/*---------------------------------------------------------------------------------------------
* 僼傽僀儖柤丂:丂Logger.java
*
* 嶌惉擔晅 嶌惉幰 僶乕僕儑儞 奣梫
* 2004/08/04 栘壓柅婯(JBCC) 1.0 怴婯嶌惉
*
---------------------------------------------------------------------------------------------*/
package jm.framework.log ;
import java.io.PrintWriter;
import java.io.StringWriter;
import jm.framework.user.UserValue;
import jm.util.JMLogPrinter;
/**
* <P>Logger偺儔僢僷乕僋儔僗.愭摢丒嵟屻旜偵寛傑偭偨暥帤楍傪弌椡偡傞偨傔偵巊梡.</P>
* Compiler jdk.5
* @author fu_changyong(1shome)
* @see struts 1.2.8
* @version 1.5.2.2
*/
public class Logger
{
protected static final String CLASS_NAME = "Logger" ;
/**
* 儘僌
*/
private boolean printLog_ = true;
/**
* 僿僢僟乕丄僼僢僞乕偺娫偵擖傟傞巇愗傝暥帤
*/
public static final String SPACER = "\t" ;
/**
* 僿僢僟乕
*/
private StringBuffer stbHeader_ = null ;
/**
* 僋儔僗柤
*/
private static String className_ = null ;
/**
* 儐乕僓乕忣曬
*/
private UserValue user = null ;
/**
* 幚嵺偺儘僌弌椡傪峴偆儀乕僗僆僽僕僃僋僩
*/
private static JMLogPrinter logger_ = null ;
private static Logger instance_ =null;
public static Logger instance(String className){
className_ = className;
if(instance_==null){
instance_ = new Logger();
}
return instance_;
}
public void setLogger ( JMLogPrinter loger ){
logger_ = loger ;
}
/**
* <P>DEBUG桪愭搙傪巊偭偰儊僢僙乕僕僆僽僕僃僋僩傪儘僌弌椡偟傑偡. </P>
* DEBUG桪愭搙偼丄傾僾儕働乕僔儑儞偺僨僶僢僌偱傕偭偲傕栶棫偮嵶棻搙偺忣曬僀儀儞僩傪巜偟傑偡.
*
* @param methodName 儊僜僢僪柤
* @param message 儘僌偵弌椡偡傞儊僢僙乕僕
*/
public void debug ( String methodName , Object message )
{
if(printLog_)
logger_.debug ( this.formatLog ( methodName , message ) ) ;
}
/**
* <P>ERROR桪愭搙傪巊偭偰儊僢僙乕僕僆僽僕僃僋僩傪儘僌弌椡偟傑偡. </P>
* ERROR桪愭搙偼丄傑偩傾僾儕働乕僔儑儞偑婲摦偟偮偯偗傜傟傞傛偆側僄儔乕僀儀儞僩傪巜偟傑偡.
*
* @param methodName 儊僜僢僪柤
* @param e 敪惗偟偨椺奜
*/
public void error ( String methodName , Throwable e )
{
try
{
if ( e != null )
{
StringWriter stringWriter = new StringWriter () ;
PrintWriter printWriter = new PrintWriter ( stringWriter ) ;
e.printStackTrace ( printWriter ) ;
StringBuffer stb = new StringBuffer () ;
stb.append ( this.formatLog ( methodName , stringWriter ) ) ;
// stb.append(stringWriter);
if(printLog_)
logger_.error ( stb.toString () ) ;
}
else
{
if(printLog_)
logger_.error ( "!!Throwable is null!!" ) ;
}
}
catch ( Exception ex )
{
if(printLog_){
logger_.error ( "!!Print Stack Trace Err!!" ) ;
e.printStackTrace () ;
}
}
}
/**
* <P>ERROR桪愭搙傪巊偭偰儊僢僙乕僕僆僽僕僃僋僩傪儘僌弌椡偟傑偡. </P>
* ERROR桪愭搙偼丄傑偩傾僾儕働乕僔儑儞偑婲摦偟偮偯偗傜傟傞傛偆側僄儔乕僀儀儞僩傪巜偟傑偡.
*
* @param methodName 儊僜僢僪柤
* @param message 儘僌偵弌椡偡傞儊僢僙乕僕
*/
public void error ( String methodName , Object message )
{
if(printLog_)
logger_.error ( this.formatLog ( methodName , message ) ) ;
}
/**
* <P>FATAL桪愭搙傪巊偭偰儊僢僙乕僕僆僽僕僃僋僩傪儘僌弌椡偟傑偡. </P>
* FATAL桪愭搙偼丄偍偦傜偔傾僾儕働乕僔儑儞偺掆巭傪婲偙偡傛偆側傑偝偵僒乕僶偺僄儔乕僀儀儞僩傪巜偟傑偡.
*
* @param methodName 儊僜僢僪柤
* @param message 儘僌偵弌椡偡傞儊僢僙乕僕
*/
public void fatal ( String methodName , Object message )
{
if(printLog_)
logger_.fatal ( this.formatLog ( methodName , message ) ) ;
}
/**
* <P>FATAL桪愭搙傪巊偭偰儊僢僙乕僕僆僽僕僃僋僩傪儘僌弌椡偟傑偡. </P>
* FATAL桪愭搙偼丄偍偦傜偔傾僾儕働乕僔儑儞偺掆巭傪婲偙偡傛偆側傑偝偵僒乕僶偺僄儔乕僀儀儞僩傪巜偟傑偡.
*
* @param methodName 儊僜僢僪柤
* @param e 敪惗偟偨椺奜
*/
public void fatal ( String methodName , Throwable e )
{
try
{
if ( e != null )
{
StringWriter stringWriter = new StringWriter () ;
PrintWriter printWriter = new PrintWriter ( stringWriter ) ;
e.printStackTrace ( printWriter ) ;
StringBuffer stb = new StringBuffer () ;
stb.append ( this.formatLog ( methodName , stringWriter ) ) ;
// stb.append(stringWriter);
if(printLog_)
logger_.fatal ( stb.toString () ) ;
}
else
{
if(printLog_)
logger_.fatal ( "!!Throwable is null!!" ) ;
}
}
catch ( Exception ex )
{
if(printLog_){
logger_.fatal ( "!!Print Stack Trace Err!!" ) ;
e.printStackTrace () ;
}
}
}
/**
* <P>INFO桪愭搙傪巊偭偰儊僢僙乕僕僆僽僕僃僋僩傪儘僌弌椡偟傑偡. </P>
* INFO桪愭搙偼丄慹棻搙儗儀儖偱傾僾儕働乕僔儑儞偺悇堏傪嫮挷偡傞忣曬偺儊僢僙乕僕傪巜偟傑偡.
*
* @param methodName 儊僜僢僪柤
* @param message 儘僌偵弌椡偡傞儊僢僙乕僕
*/
public void info ( String methodName , Object message )
{
if(printLog_)
logger_.info ( this.formatLog ( methodName , message ) ) ;
}
/**
* <P>WARN桪愭搙傪巊偭偰儊僢僙乕僕僆僽僕僃僋僩傪儘僌弌椡偟傑偡. </P>
* WARN桪愭搙偼丄愽嵼揑偵丄桳奞側忬嫷傪巜偟傑偡.
*
* @param methodName 儊僜僢僪柤
* @param message 儘僌偵弌椡偡傞儊僢僙乕僕
*/
public void warn ( String methodName , Object message )
{
if(printLog_)
logger_.warn ( this.formatLog ( methodName , message ) ) ;
}
/**
* <H3>
* 儐乕僓乕忣曬傪僙僢僩偡傞.
* </H3>
* <PRE>
* 儐乕僓乕忣曬偼丄儘僌偺僿僢僟乕偲偟偰弌椡偝傟傑偡.
* </PRE>
*
* @param user 儐乕僓乕忣曬
*/
public void setUser ( UserValue user )
{
if ( user != null )
{
this.user = user ;
this.stbHeader_ = new StringBuffer () ;
this.stbHeader_.append ( Logger.SPACER ) ;
if ( this.user.getLoginTime () > 0 )
{
this.stbHeader_.append ( this.user.getLoginTime () ) ;
}
this.stbHeader_.append ( Logger.SPACER ) ;
if ( this.user.getNumId () != null )
{
this.stbHeader_.append ( this.user.getNumId () ) ;
}
this.stbHeader_.append ( Logger.SPACER ) ;
}
}
/**
* <H3>
* 儐乕僓乕忣曬傪庢摼偡傞.
* </H3>
* <PRE>
* </PRE>
*
* @return 儐乕僓乕忣曬
*/
public UserValue getUserInfo ()
{
return this.user ;
}
////////////////////////////////////////////////////////
/**
* <P>儘僌弌椡惍宍張棟.</P>
* <PRE>
* 儊僢僙乕僕晹暘偺傒偺惍宍偱偡.
* 儘僌偺慡懱揑側峔惉偼僾儘僷僥傿僼傽僀儖偵偰愝掕偟偰偄傑偡.
* </PRE>
* @param methodName 儊僜僢僪柤
* @param message 儊僢僙乕僕
* @return String 惍宍屻偺儘僌儊僢僙乕僕
*/
private String formatLog ( String methodName , Object message )
{
StringBuffer buffer = new StringBuffer () ;
if ( this.stbHeader_ == null )
{
this.stbHeader_ = new StringBuffer () ;
this.stbHeader_.append ( Logger.SPACER + Logger.SPACER + Logger.SPACER ) ;
}
buffer.append ( this.stbHeader_ ) ;
if ( className_ != null )
{
buffer.append ( "[" ) ;
buffer.append ( className_ ) ;
buffer.append ( "#" ) ;
buffer.append ( methodName ) ;
buffer.append ( "] " ) ;
buffer.append ( Logger.SPACER ) ;
}
if ( message != null )
{
buffer.append ( message.toString () ) ;
}
return buffer.toString () ;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -