`
bdk82924
  • 浏览: 555561 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Log日志

阅读更多
import org.apache.log4j.Logger;

/**
 * 日志
 * 
 * @author 
 * 
 */
public class CopyOfLog
{
    /**
     * Debug级别日志
     * 
     * @author  
     * @date Sep 3, 2009 9:29:32 AM
     * @param msg
     *            msg
     */
    public void debug(String msg)
    {
        Logger logger = getLogger();
        StringBuffer buffer = createMethodNameLog();
        logger.debug(buffer.append(msg).toString());
    }

    /**
     * Debug级别日志
     * 
     * @author  
     * @date Sep 3, 2009 9:29:32 AM
     * @param msg
     *            msg
     * @param t
     *            t
     */
    public void debug(String msg, Throwable t)
    {
        Logger logger = getLogger();
        StringBuffer buffer = createMethodNameLog();
        logger.debug(buffer.append(msg).toString(), t);
    }

    /**
     * 获取log4j日志记录器,动态加载日志器名
     * 
     * @return Logger
     */
    private Logger getLogger()
    {
        // 第二个堆栈
        final int iStackTrace = 2;

        Throwable throwable = new Throwable();
        StackTraceElement[] stackTraceElement = throwable.getStackTrace();
        String className = stackTraceElement[iStackTrace].getClassName();
        Logger logger = Logger.getLogger(className);
        return logger;
    }

    /**
     * 获取包含方法名称的日志StringBuilder
     * 
     * @return StringBuffer
     */
    private StringBuffer createMethodNameLog()
    {
        String methodName = getMethodName();
        StringBuffer buffer = new StringBuffer();
        buffer.append("[").append(methodName).append("()] ");
        return buffer;
    }

    /**
     * 获取方法名称
     * 
     * @return String
     */
    private String getMethodName()
    {
        // 第三个堆栈
        final int iStackTrace = 3;
        Throwable throwable = new Throwable();
        StackTraceElement[] stackTraceElement = throwable.getStackTrace();
        String methodName = stackTraceElement[iStackTrace].getMethodName();
        return methodName;
    }
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics