JAVA中利用LOG4J写日志

原创 2006年06月14日 20:39:00

JAVA利用LOG4J写日志

本人最近做的一个项目中遇到的写日志,就记录下来,还不完善,希望大家有好的意见.

接口定义
public interface Logger {

 /////////// 定数宣言 //////////
 /** ファイル定数 */
 public static final String LOG4JFILE = "log4j.properties";

 /** ログ用 */
 public static final String SYSTEMLOG = "Systemlog";

 // public void debug(String message) throws Exception;
 // 
 // public void info(String message) throws Exception;
 // 
 // public void warn(String message) throws Exception;
 // 
 // public void error(String errorCode,String message) throws Exception;

}

LOG4J的封装


package jp.co.**.**.com.frw.log;

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


public class LoggerAdapter implements jp.co.yachiyobank.inf.com.frw.log.Logger {

 ////////// クラス変数 //////////
 /** log4jのインスタンス */
 private static Logger log4j = null;

 /**
  * ログクラスの実例。<BR>
  *
  * @param なし
  * @return なし
  * @exception なし
  */
 public static void getInstance() {
  PropertyConfigurator.configure(LOG4JFILE);
  log4j = Logger.getLogger(SYSTEMLOG);
 }

 /**
  * debugログの編集、出力を行う。<BR>
  *
  * @param message 出力内容
  * @return なし
  * @exception なし
  */
 public static void debug(Object message) {
  if (log4j == null) {
   getInstance();
  }
  // ログ出力
  log4j.debug(message);
 }

 /**
  * debugログの編集、出力を行う。<BR>
  *
  * @param message 出力内容
  * @param throwable
  * @return なし
  * @exception なし
  */
 public static void debug(Object message, Throwable throwable) {
  if (log4j == null) {
   getInstance();
  }
  // ログ出力
  log4j.debug(message, throwable);
 }

 /**
  * infoログの編集、出力を行う。<BR>
  *
  * @param message 出力内容
  * @return なし
  * @exception なし
  */
 public static void info(Object message) {
  if (log4j == null) {
   getInstance();
  }
  // ログ出力
  log4j.info(message);

 }

 /**
  * infoログの編集、出力を行う。<BR>
  *
  * @param message 出力内容
  * @param throwable
  * @return なし
  * @exception なし
  */
 public static void info(Object message, Throwable throwable) {
  if (log4j == null) {
   getInstance();
  }
  // ログ出力
  log4j.info(message, throwable);

 }

 /**
  * warnログの編集、出力を行う。<BR>
  *
  * @param message  出力内容
  * @param throwable
  * @return なし
  * @exception なし
  */
 public static void warn(Object message, Throwable throwable) {
  if (log4j == null) {
   getInstance();
  }
  // ログ出力
  log4j.warn(message, throwable);

 }

 /**
  * warnログの編集、出力を行う。<BR>
  *
  * @param message  出力内容
  * @return なし
  * @exception なし
  */
 public static void warn(Object message) {
  if (log4j == null) {
   getInstance();
  }
  // ログ出力
  log4j.warn(message);

 }

 /**
  * errorログの編集、出力を行う。<BR>
  *
  * @param message 出力内容
  * @return なし
  * @exception なし
  */
 public static void error(Object message) {
  if (log4j == null) {
   getInstance();
  }
  // ログ出力
  log4j.error(message);

 }

 /**
  * errorログの編集、出力を行う。<BR>
  *
  * @param throwable
  * @param message 出力内容
  * @return なし
  * @exception なし
  */
 public static void error(Object message, Throwable throwable) {
  if (log4j == null) {
   getInstance();
  }
  // ログ出力
  log4j.error(message, throwable);

 }

}

LOG的格式编辑


package jp.co.**.**.com.frw.log;
/**
 * ログ出力処理クラス。<br>
 * <PRE>
 * (1)デバーグレベルログを出力。
 * (2)エラーレベルログを出力。
 * (3)インフォーレベルログを出力。
 * (4)Warnレベルログを出力。
 * </PRE>
 * <br>
 */
public final class LogUtils {
 
    ////////// 定数宣言 //////////
 /**
  * ログセファルディ
  */
 private final static String SEPARATOR = " ";
 
 /**
  * ログ内容を準備をします。<BR>
  * @param className クラス名
  * @param gyoumuName 業務名
  * @param message 出力内容
  * @param sql sql内容
  * @return logBuffer 準備をした内容
  */
 public static StringBuffer prepareLogMessage( Class className,String gyoumuName,
    String message,  String sql) {
  
  StringBuffer logBuffer = new StringBuffer();
  String name=null;
  
  if(className!=null){
      name=className.getName();
   logBuffer.append(name).append(SEPARATOR);
  }
  if(gyoumuName!=null){
  logBuffer.append(gyoumuName).append(SEPARATOR);
  }
  if (message != null) {
   logBuffer.append(message).append(SEPARATOR);
  }else {
   logBuffer.append(SEPARATOR);
  }
  
  if(sql!=null){
   logBuffer.append(sql).append(SEPARATOR);
  }else {
   logBuffer.append(SEPARATOR);
  }
        //結果が返します
  return logBuffer;
 }
 
 /**
  * 非SQL用 ログ内容を準備をします。<BR>
  * @param className クラス名
  * @param gyoumuName 業務名
  * @param message 出力内容
  * @return logBuffer 準備をした内容
  */
 public static StringBuffer setTextMessate(Class className,String gyoumuName, String message){
  String sql=null;
  StringBuffer logBuffer = prepareLogMessage(className,gyoumuName,message,sql);
  return logBuffer;
 }
 
 /**
  * SQL用 ログ内容を準備をします。<BR>
  * @param className クラス名
  * @param gyoumuName 業務名
  * @param message 出力内容
  * @param sql sql内容
  * @return logBuffer 準備をした内容
  */
 public static StringBuffer setTextMessate(Class className,String gyoumuName, String message,String sql){
  StringBuffer logBuffer = prepareLogMessage(className,gyoumuName,message,sql);
  return logBuffer;
 }
 
 /**
  * ログ内容を準備をします。<BR>
  *
  * @param message 出力内容
  * @return logBuffer 準備をした内容
  */
 public static StringBuffer setTextMessate(String message){
  Class className=null;
  String gyoumuName=null;
  String sql=null;
  StringBuffer logBuffer = prepareLogMessage(className,gyoumuName,message,sql);
  return logBuffer;
 }
 
 /**
  * ログ内容を準備をします。<BR>
  *
  * @param gyoumuName 業務名
  * @param message 出力内容
  * @return logBuffer 準備をした内容
  */
 public static StringBuffer setTextMessate(String gyoumuName,String message){
  Class className=null;
  String sql=null;
  StringBuffer logBuffer = prepareLogMessage(className,gyoumuName,message,sql);
  return logBuffer;
 }
}

Log4j扩展使用--日志记录器Logger

OK,现在我们认真的研究下Logger的配置,进行相关配置扩展。 Log4j有三个主要的组件:Loggers(记录器),Appenders(输出源)和Layouts(布局)。其中,Logger负责记...
  • u011794238
  • u011794238
  • 2016年02月23日 00:47
  • 3880

log4j详解 将指定日志输出到不同的文件中

0.概述 本文主要介绍
  • chs0113
  • chs0113
  • 2014年09月27日 16:03
  • 8897

java log4j日志 写入数据库

因帮朋友log4j日志 写入数据库,写了这个 log4j.properties ----------------------------------------- #可以设置级别:debug>i...
  • zhanglu0223
  • zhanglu0223
  • 2015年09月23日 15:11
  • 3368

log4j 日志文件存储数据库的解决方案二(Java中写sql语句)

HashMapping.java package com.panda.core.log.bean; import org.slf4j.Logger; import org.slf4j.Logger...
  • LANGZI7758521
  • LANGZI7758521
  • 2016年10月29日 16:45
  • 563

java 使用log4j写日志文件

1.下载包,放在lib目录下 2.在CLASSPATH下建立log4j.properties,内容如下 log4j.rootLogger=info,ROLLING_FILE log4...
  • wangchuanbaodhcc
  • wangchuanbaodhcc
  • 2011年08月19日 18:08
  • 10156

java日志操作之Log4j

  • 2012年02月20日 13:43
  • 135KB
  • 下载

log4j.jar java日志系统必须

  • 2012年09月28日 08:47
  • 364KB
  • 下载

java日志记录组件log4j-1.2.14和commons-logging-1.1.1

  • 2010年03月05日 10:16
  • 377KB
  • 下载

java_log4j日志详解.doc

  • 2013年05月22日 16:02
  • 78KB
  • 下载

java日志操作之Log4j.doc

  • 2011年10月09日 16:17
  • 105KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA中利用LOG4J写日志
举报原因:
原因补充:

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