JAVA中利用LOG4J写日志

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;
 }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值