JAVA LOG4J管理(续JAVA中LOG4J的封装)

原创 2006年06月20日 16:42:00

/********************************************************************
 * 最終更新日:$Date: 2005/11/16 05:48:47 $ [$Revision: 1.11 $]
 * 最終更新者:$Author: LHJ_KK$
 * Copyright (c) 2004-2006 NNN ATA CORPORATION, All rights reserved.
 ********************************************************************/
package jp.co.**.**.core.logging;

import jp.co.**.**.core.constants.BaseConstant;

import org.apache.log4j.Category;
import org.apache.log4j.PropertyConfigurator;

/**
 * ログマネジャクラス<br>
 * 機能は以下の通り<br>
 * <ul>
 * <li>静態方法でインスタンスを実装する
 * <li>ログインスタンスの取得
 * </ul>
 * <br>
 * @since 1.0.0
 * @version <br>1.0.0 2005/09/30 新規作成
 * @author LHJ
 */
public class CategoryManage implements BaseConstant {
 /**
  * カテゴリーインスタンス
  */
 private static Category category = null;
 /**
  * 静態方法でインスタンスを実装する
  * log4j.properties
  */
 static {
  try {
   System.out.println("LOG4J ログマネージャ 初期化メッソド");
   PropertyConfigurator.configureAndWatch(LOG4JFILE);
   
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 /**
  * ログインスタンスの取得
  * @param thisclass カテゴリーのキー
  * @return Category カテゴリー
  */
 public static synchronized Category getInstance(String thisclass) {
  //20051103 UC.UP-1 陸宇 修正 STA
  if (!SERVERLOG.equals(thisclass)) {
   thisclass = SERVERLOG;
  }
  if (category == null) {
   category = Category.getInstance(thisclass);
  }
  //20051103 UC.UP-1 陸宇 修正 END
  return category;
 }
}

2.

package jp.co.nec.inf.frw.log;

import java.net.URL;

import jp.co.nec.inf.frw.com.FrwCst;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.xml.DOMConfigurator;

public class FrwAdapterLog implements FrwLog {
 
 public static final String XML_FILE_EXTENSION = ".xml";
 
 static{
  //log4j初期化
  URL url = FrwAdapterLog.class.getClassLoader().getResource(FrwCst.LOG4JFILE_LOCATION);
  
  if (FrwCst.LOG4JFILE_LOCATION.toLowerCase().endsWith(XML_FILE_EXTENSION)) {
   DOMConfigurator.configure(url);
  }
  else {
   PropertyConfigurator.configure(url);
  }
//  if (url != null) {
//   DOMConfigurator.configure(url);
//  } else {
//   DOMConfigurator.configure(System.getProperty("log4j.configuration", "log4j.xml"));
//  }
 }

 /** 
  * ロギング本体
  */
 private org.apache.log4j.Logger logger;

 /** 
  * コンストラクタ
  *
  * @param cls ログを出力するクラス
  */
 protected FrwAdapterLog(Class cls) {
  logger = Logger.getLogger(cls);
 }

 /**
  * 指定されたクラスでロギングを初期化します。
  *
  * @param cls ログを出力するクラス
  */
 public static FrwLog getInstance(Class cls) {
  FrwAdapterLog wrapper = new FrwAdapterLog(cls);
  return wrapper;
 }
 
 /**
  * ログクラスを置き直する。
  *
  *  @param cls ログクラス
  */
 public void resetLogger(Class cls) {
  logger = org.apache.log4j.Logger.getLogger(cls);
 }
 
 
 public void debug(String message, Throwable cause) {
  logger.debug(message,cause);
 }

 public void error(String message, Throwable cause) {
  logger.error(message,cause);
 }

 public void info(String message, Throwable cause) {
  logger.info(message,cause);
 }

 public void warn(String message, Throwable cause) {
  logger.warn(message,cause);
 }

 public void debug(String message) {
  logger.debug(message);
 }

 public void info(String message) {
  logger.info(message);
 }

 public void warn(String message) {
  logger.warn(message);
 }

 public void error(String message) {
  logger.error(message);
 }


}

如何封装log4j示例代码

 ////////////////////log.java 封装log4j,在日志中加入调用类名和事件ID/////////////////package com.abcd.monitor.log;i...
  • thunder09
  • thunder09
  • 2010年03月10日 13:50
  • 4808

Log4j简单封装及配置

大家在项目中经常会用到Log4j,一般包括4个步骤: 1.编写log4j配置文件; 2.初始化log4j; 3.获取一个logger实例; 4.调用logger.debug() 等记录日志。 ...
  • jmppok
  • jmppok
  • 2015年04月02日 10:18
  • 2335

日志管理框架:Log4j工具封装类

做这个例子的初衷就是,把任何一个对象丢进框架中的对应的输出日志的方法中,都能输出这个对象所对应的toString重写方法,来输出对象的包含的数据,现在能实现:字符串,数组,List,Map集合的输出:...
  • zp357252539
  • zp357252539
  • 2016年07月07日 08:22
  • 3240

Log4J的封装

Log4J的封装: 配置文件:log4j.properties  log4j.rootLogger=DEBUG, A2, A1 log4j.appender.A2=org.apache.log4j.R...
  • wu_07
  • wu_07
  • 2007年11月18日 17:44
  • 2850

对log4j的简单封装

log4j使用起来有点麻烦,在不同的类里面都得创建一个实例,繁琐之余还会浪费内存,对于日后要更换其他的第三方日志jar工作量也很大,所以对其进行简单的封装,直接调用静态方法即可打印日志。package...
  • sinat_28530913
  • sinat_28530913
  • 2017年05月16日 15:50
  • 115

Java日志 - log4简单使用实例及其再次封装

程序中记录日志一般目的:    * Troubleshooting(故障定位):向文件或控制台打印代码的调试信息    * 显示程序运行状态:周期性的记录到文件中供其他应用进行统计分析工作    * ...
  • dietime1943
  • dietime1943
  • 2017年03月10日 18:04
  • 1573

Log4j在Java中的使用

Log4J是Apache的一个开放源代码项目(http://logging.apache.org/log4j/docs/),它是一个日志操作包。通过使用Log4J,可以指定日志信息输出的目的地,控制每...
  • softwater007
  • softwater007
  • 2008年12月17日 10:31
  • 12803

【log4j2】简化封装(代码案例)

注 本文是使用 slf4j + log4j2 示例,由于 slf4j 只是一个统一接口包,log4j / log4j2 / logback 等都是有其实现类,所以本文中是以 slf4j 为例...
  • hj7jay
  • hj7jay
  • 2017年03月14日 09:53
  • 1118

java_log4j使用

一、 Log4j是什么?   Log4j可以帮助调试(有时候debug是发挥不了作 用的)和分析,要下载和了解更详细的内容,还是访问其官方网站吧:http://jakarta.apache.org/...
  • zhao50632
  • zhao50632
  • 2014年02月13日 11:01
  • 1172

JavaWeb学习笔记之Log4j使用教程

一、入门实例1.新建一个JAva工程,导入包log4j-1.2.17.jar,整个工程最终目录如下 2、src同级创建并设置log4j.properties ### 设置### log...
  • u014349086
  • u014349086
  • 2016年06月11日 11:19
  • 4535
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA LOG4J管理(续JAVA中LOG4J的封装)
举报原因:
原因补充:

(最多只允许输入30个字)