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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563785.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

e x泰勒 java_maven project

最近没事了玩一下maven,使用maven管理工程中的依赖包非常的方便。建立maven web工程的时候开始不知道怎么用tomcat来调试,总是使用mave的tomcat插件发布了后来调试,觉得非常的麻烦,网上找了点材料,看看maven web工程不…

java定义说话方法_类定义的基本形式_Java语言程

类定义的基本形式_Java语言程4.2.1 类定义的基本形式前面一节我们已经了解了类和对象的概念,然而在实际编程过程中,该如何定义一个类以及类中的对象呢?在Java语言中,用户自己可以定义一个类,作…

displayprime java_java - “没有X11 DISPLAY变量” - 这是什么意思?

我正在尝试在我的Linux机器(Slackware)上安装Java应用程序。我收到了以下错误,我不明白。你能告诉我如何处理这个问题吗? 谢谢。这是我得到的:(我看到需要设置一些X11 DISPLAY变量,但我应该给它什么值以及如何?)~$ java -jar gate…

java 判断顺序_通过指令码来判断Java代码的执行顺序(++问题与return和finally的问题)...

问题在《深入理解Java虚拟机》一书中遇到了如下代码:public int method() {int i;try {i 1;return i;} catch (Exception e) {i 2;return i;} finally {i 3;}}由于曾经搜了一下return和finally的问题后,只是简单的看到了finally会执行,从而…

java 怎么从性能上优化代码_月薪上万做好这一步:程序员职场中必须掌握的的Java代码性能优化技巧...

尽量指定类、方法的final修饰符Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举大概能够使性能平均提高50%。尽量重用对象特别是String对象的使用,出现字符串连接时应该使用StringB…

java创建线程几种_java中创建线程有几种方式

详细内容线程的创建方式1、继承Thread类实现多线程2、覆写Runnable()接口实现多线程,而后同样覆写run()。推荐此方式3、使用Callable和Future创建线程相关视频教程推荐:java学习视频实例如下:1、继承Thread类实现多线程/** 继承Thread类创建线…

php编译支持mysql,编译php支持curl和pdo_mysql

安装curl1. curl 是 php 标准库,所以可以在原來的 phpX.X.X.tar.gz 中找到。2. 進入 php 目录中的 ext 找到 curl3. 在 curl 目录中执行 phpize #此命令用于生成configure文件(如果没有此软件上网下载安装一个)4. 然后他生成的文件进行 ./configure–with-php-config/usr/local…

php自定义中文分词方法,php实现的中文分词类完整实例

本文实例讲述了php实现的中文分词类。分享给大家供大家参考,具体如下:该中文分词类源码使用http://tools.ddpool.cn/code/jb51_php_format进行了格式化处理,便于阅读。具体代码如下:class Segmentation {var $options array(lowe…

php打开rs232,php_ser_5.2.0-5.2.17

php_ser_5.2.0-5.2.17所属分类:WEB开发开发工具:PHP文件大小:169KB下载次数:62上传日期:2011-09-23 11:30:16上 传 者:随寻说明: php实现RS232串口通信下载php_ser_5.2.0.zip解冻把php_ser放到…

使用php,使用 PHP

使用 PHP推荐查看本文HTML版本本节汇集了你在写 PHP 脚本时可能碰到的大多数普通错误。1. 我想写一个可以处理任何表单来的数据的通用 PHP 脚本。我怎么知道哪个 POST 方法变量可用呢?2. 我需要在所有的单引号()前加一个反斜线(\),使它们变成(\)&#xf…

手机电脑自适应导航源码php,自适应各终端懒人网址导航源码 v2.0

自适应各终端懒人网址导航源码。V2.0版本是在原1.8版本的基础上修复和增加了些功能。推荐直接使用新版本,舍弃旧版本,后期会继续不定期更新。测试环境:宝塔Nginx -Tengine2.2.3的php5.5mysql先导入数据库文件db/db.sql再修改config.php数据库…

php如何生成本地文档,php如何生成word文件

php生成word文件的方法:需求:甲方爸爸说“我有一个word文件,里面是关于用户信息的表格,你帮我把系统里面所有用户数据都按照这个文件导出来给我“;我当时就不乐意了,啪的一拍桌子站起来,愤愤的回…

php 写一个大富翁游戏,C++大富翁代码 现在要设计一个类似“大富翁”的游戏:有一条由20个格子组成的 联合开发网 - pudn.com...

C大富翁代码所属分类:Windows编程开发工具:C/C文件大小:349KB下载次数:6上传日期:2018-05-15 21:11:38上 传 者:红黑二叉树说明: 现在要设计一个类似“大富翁”的游戏:有一条由20个…

yii 引用php文件,Yii中引出php文件及插件

Yii中引入php文件及插件作者:zccst一、设置环境变量(在PHP)echo get_include_path(); //获取当前所有环境变量。即该项目中那些代码已被引用。set_include_path(.. PATH_SEPARATOR . Yii::app()->basePath./lib/PHPExcel . PATH_SEPARATOR . get_include_p…

形态学图像分割matlab算法,图像分割和形态学处理与MATLAB实现

《图像分割和形态学处理与MATLAB实现》由会员分享,可在线阅读,更多相关《图像分割和形态学处理与MATLAB实现(13页珍藏版)》请在人人文库网上搜索。1、实验 图像分割和形态学处理一、实验目的1、 掌握图像分割的基本方法。2、 掌握形态学处理的基本方法。…

php 显示状态,php-fpm status状态配置显示

系统为ubuntu,在usr/etc/sites-enabled/中编辑nginx配置文件server_name demo.com;location ~^/status$ {#auth_basic "status page";#fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;include fastcgi_params;fastcgi_pass unix:/var/…

matlab 动态目录调用程序集,C#中如何动态添加程序集查找目录

C#中如何动态添加程序集查找目录情况如下:现有三个程序集Main.exe, One.dll, Two.dll。其中One.dll引用了Two.dll, 并且One.dll与Two.dll部署在一起, 而Main.exe单独部署。在One.dll中有using Two;namespace One{public SomeType{public void DoSomethin…

matlab 红黑强度图片,matlab图形锐化程序

满意答案gveial5852013.10.31采纳率:50% 等级:12已帮助:11498人help imreadhelp fspecial imfilt帮助稳定中有较多的示例fspecial 函数功能:产生预定义滤波器格式:Hfspecial(type)Hfspecial(gaussian,n,sigma) 高斯…

php chr 乱码,php chr() ord()中文截取乱码问题解决方法_PHP教程

复制代码 代码如下:/* 另一种方法&#xff0c;使用ord()函数&#xff1a; 适用于 gb2312 编码:*/$str "怎么将新闻的很长的标题只显示前面一些字&#xff0c;后面用.....来代替&#xff1f;";function gb2312_substr($str, $limit) {$restr ;for($i0;$i< $limit-…

matlab int8 函数,未定义与 'uint8' 类型的输入参数相对应的函数 'fitnessty'

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼程序如下&#xff1a;clear allclcticpopsize15;lanti10;maxgen50;cross_rate0.4;mutation_rate0.1;a00.7;zpopsize5;bestf0;nf0;number0;Iimread(C:\Users\Yu\Pictures\feiji.jpg);if numel(I)>2Irgb2gray(I);end[m,n]size(I);…