📄 syslogger.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 + -