java实现log4j_log4j在java中实现
public class AccLogBase {
/**致命錯誤. */
public static final int LOG_LEVEL_FATAL = 1;
/** 錯誤. */
public static final int LOG_LEVEL_ERROR = 2;
/** 警告. */
public static final int LOG_LEVEL_WARN = 3;
/**信息. */
public static final int LOG_LEVEL_INFO = 4;
/** debug. */
public static final int LOG_LEVEL_DEBUG = 5;
/** 定義log基類 */
private static Logger log = null;
/**
* 獲得log實例.
* @param cls 輸出log日志class
*/
@SuppressWarnings("unchecked")
protected final void getLogInstance(final Class cls) {
if (log == null) {
log = Logger.getLogger(cls);
}
}
/**
* 構造函數.
*/
public AccLogBase() {
//這里面將log4j.properties放到src路徑下,如果是weblogic服務器,放到domain目錄下
//或者通過 Properties prop = new Properties();InputStream inputStream = new FileInputStream(“C:/log4j.properties”);?//log4j.properties的絕對路徑
//prop.load(inputStream);?PropertyConfigurator.configure(prop);
PropertyConfigurator.configure("log4j.properties");
getLogInstance(this.getClass());
}
/**
* 輸出log日志.
* @param className
* @param methodName
* @param level
* @param msg
*/
protected final void writeLog(final String className,final String msg, final String methodName,final Throwable exp,final int level) {
StringBuffer message = new StringBuffer();
message.append("[");
message.append(className);
message.append("#");
message.append(methodName);
message.append("]");
switch (level) {
case LOG_LEVEL_FATAL:
if (exp != null) {
log.fatal(message.toString(), exp);
} else {
log.fatal(message.toString());
}
break;
case LOG_LEVEL_ERROR:
if (exp != null) {
log.error(message.toString(), exp);
} else {
log.error(message.toString());
}
break;
case LOG_LEVEL_WARN:
if (exp != null) {
log.warn(message.toString(), exp);
} else {
log.warn(message.toString());
}
break;
case LOG_LEVEL_INFO:
if (exp != null) {
log.info(message.toString(), exp);
} else {
log.info(message.toString());
}
break;
case LOG_LEVEL_DEBUG:
if (exp != null) {
log.debug(message.toString(), exp);
} else {
log.debug(message.toString());
}
break;
default:
break;
}
}
}
public class TestLog extends AccLogBase {
/**
* 構造函數.
*/
public TestLog() {
}
private String className = this.getClass().getSimpleName();
private String methodName = "";
/**
* 測試日志輸出.
*/
public final?void testLog () {
methodName = new Throwable().getStackTrace()[0].getMethodName();
String message = “測試日志輸出”;
//+ 処理開始,輸出日志文件。
writeLog(className,message, methodName,"",4);
}
}
#######log4j.properties配置信息########
log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=./servers/AdminServer/logs/acc_servelet.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m %n log4j.rootLogger=DEBUG, file
總結
以上是生活随笔為你收集整理的java实现log4j_log4j在java中实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卖金鱼的地方_1个水族店,5个周转箱,卖
- 下一篇: android 服务器返回302,And