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

📄 syslogger.java

📁 一个专门用来快速开发网站的框架
💻 JAVA
字号:
package com.core.log;
/*
 * 此类实现了org.apache.commons.logging.Log接口,在类路径中的
  配置文件commons-logging.properties中指定这个类。
 * 1、普通提示使用Log4j
 * 2、严重错误写入数据库,如果使用EJB就用JMS,如果不用EJB就用Hibernate写数据库。
 *
 * 参考了org.apache.commons.logging.impl.Log4JLogger实现。
 *
 * 程序使用的具体步骤:
1.引入必要的类或接口
2.得到Log接口的具体实现
3.在需要时记录日志
 */
import java.io.Serializable;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.Priority;
import org.apache.commons.logging.Log;

public class SysLogger implements Log, Serializable {

    private static final String FQCN = SysLogger.class.getName();

    // 这儿主要使用log4j记录日志  qwe
    private transient Logger logger = null ;

    // 本类的名字
    private String name = null;

    //判断是否是指定的类
    private static final boolean is12 = Priority.class.isAssignableFrom(Level.class);

    /**
     * 自己添加的基本构造函数。
     */
    public SysLogger() {
    }


    /**
     * 自己添加的基本构造函数。
     */
    public SysLogger(String name) {
        this.name = name;
        this.logger = getLogger();
    }

    /**
     * 自己添加的log4j factory使用的构造函数。
     */
    public SysLogger(Logger logger ) {
        this.name = logger.getName();
        this.logger=logger;
    }
    /*
     * 实现接口的方法org.apache.commons.logging.Log#isDebugEnabled()
     * 判断是否能Debug
     */
    public boolean isDebugEnabled() {
        return getLogger().isDebugEnabled();
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#isErrorEnabled()
     */
    public boolean isErrorEnabled() {
        if(is12) {
            return getLogger().isEnabledFor((Priority) Level.ERROR);
        } else {
            return getLogger().isEnabledFor(Level.ERROR);
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#isFatalEnabled()
     */
    public boolean isFatalEnabled() {
        if(is12) {
            return getLogger().isEnabledFor((Priority) Level.FATAL);
        } else {
            return getLogger().isEnabledFor(Level.FATAL);
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#isInfoEnabled()
     */
    public boolean isInfoEnabled() {
        return getLogger().isInfoEnabled();
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#isTraceEnabled()
     */
    public boolean isTraceEnabled() {
        return getLogger().isDebugEnabled();
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#isWarnEnabled()
     */
    public boolean isWarnEnabled() {
        if(is12) {
            return getLogger().isEnabledFor((Priority) Level.WARN);
        } else {
            return getLogger().isEnabledFor(Level.WARN);
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#trace(java.lang.Object)
     */
    public void trace(Object message) {
        if(is12) {
            getLogger().log(FQCN, (Priority) Level.DEBUG, message, null );
        } else {
            getLogger().log(FQCN, Level.DEBUG, message, null );
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#trace(java.lang.Object, java.lang.Throwable)
     */
    public void trace(Object message, Throwable t) {
        if(is12) {
            getLogger().log(FQCN, (Priority) Level.DEBUG, message, t );
        } else {
            getLogger().log(FQCN, Level.DEBUG, message, t );
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#debug(java.lang.Object)
     */
    public void debug(Object message) {
        if(is12) {
            getLogger().log(FQCN, (Priority) Level.DEBUG, message, null );
        } else {
            getLogger().log(FQCN, Level.DEBUG, message, null );
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#debug(java.lang.Object, java.lang.Throwable)
     */
    public void debug(Object message, Throwable t) {
        if(is12) {
            getLogger().log(FQCN, (Priority) Level.DEBUG, message, t );
        } else {
            getLogger().log(FQCN, Level.DEBUG, message, t );
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#info(java.lang.Object)
     */
    public void info(Object message) {
        if(is12) {
            getLogger().log(FQCN, (Priority) Level.INFO, message, null );
        } else {
            getLogger().log(FQCN, Level.INFO, message, null );
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#info(java.lang.Object, java.lang.Throwable)
     */
    public void info(Object message, Throwable t) {
        if(is12) {
            getLogger().log(FQCN, (Priority) Level.INFO, message, t );
        } else {
            getLogger().log(FQCN, Level.INFO, message, t );
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#warn(java.lang.Object)
     */
    public void warn(Object message) {
        if(is12) {
            getLogger().log(FQCN, (Priority) Level.WARN, message, null );
        } else {
            getLogger().log(FQCN, Level.WARN, message, null );
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#warn(java.lang.Object, java.lang.Throwable)
     */
    public void warn(Object message, Throwable t) {
        if(is12) {
            getLogger().log(FQCN, (Priority) Level.WARN, message, t );
        } else {
            getLogger().log(FQCN, Level.WARN, message, t );
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#error(java.lang.Object)
     */
    public void error(Object message) {
        if(is12) {
            getLogger().log(FQCN, (Priority) Level.ERROR, message, null );
        } else {
            getLogger().log(FQCN, Level.ERROR, message, null );
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#error(java.lang.Object, java.lang.Throwable)
     */
    public void error(Object message, Throwable t) {
        if(is12) {
            getLogger().log(FQCN, (Priority) Level.ERROR, message, t );
        } else {
            getLogger().log(FQCN, Level.ERROR, message, t );
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#fatal(java.lang.Object)
     */
    public void fatal(Object message) {
        if(is12) {
            getLogger().log(FQCN, (Priority) Level.FATAL, message, null );
        } else {
            getLogger().log(FQCN, Level.FATAL, message, null );
        }
    }

    /*
     * 实现接口的方法see org.apache.commons.logging.Log#fatal(java.lang.Object, java.lang.Throwable)
     */
    public void fatal(Object message, Throwable t) {
        if(is12) {
            getLogger().log(FQCN, (Priority) Level.FATAL, message, t );
        } else {
            getLogger().log(FQCN, Level.FATAL, message, t );
        }
    }

    /**
     * 自己添加的类,返回org.apache.log4j.Logger Return the native Logger instance we are using.
     */
    public Logger getLogger() {
        if (logger == null) {
            logger = Logger.getLogger(name);
        }
        return (logger);
    }

}

⌨️ 快捷键说明

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