log4j在java中实现
来源:互联网 发布:辅助软件定制 编辑:程序博客网 时间:2024/06/08 18:42
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
- log4j在java中实现
- slf4j+log4j在Java中实现日志记录
- 在java中使用log4j
- log4j 如何在Java web中使用
- 在Java项目中如何使用log4j和slf4j实现日志打印
- Log4j在Web中
- 在Log4j中实现日志的Email自动发送
- 在java应用中使用log4j日志工具
- 在Java 项目开发中 Log4j和slf4j结合
- 初步配置log4j(在java web中使用)
- 在java项目中使用log4j的实例
- Java在Jar包中初始化log4j的方法
- 在java项目中使用Log4j -1- 概述
- 在java项目中使用log4j的实例
- 在java项目中使用Log4j -2-Logger
- 在java项目中使用log4j的实例
- 不使用log4j.xml/log4j.properties在Java代码中生成Logger实例
- log4j介绍以及在java项目和javaweb项目中使用log4j的实例
- C++ 继承中类作用域
- 为什么选择iOS~
- mac 卸载mysql
- 缓慢变化思想4
- easy ui 自动生成accordion不能自适应父容器问题
- log4j在java中实现
- 安卓中的图标尺寸
- Java编程性能优化一些事儿
- 缓慢变化思想5
- C++ 编译时期的名字查找
- TextView添加跑马灯效果
- javaweb 中 el表达式问题总结
- lua5.2中对table.insert的区别
- web程序部署到Tomcat服务器报错Deployment is out ofdate due to changes in the underlying project contents...