java log4j 工具类_Java 基于log4j的日志工具类

48304ba5e6f9fe08f3fa1abda7d326ab.png

package com.tradeplatform.receiveorder.util;

import java.io.PrintWriter;

import java.io.StringWriter;

import org.apache.log4j.Logger;

/**

* @Description 日志记录类

* @author panteng

* @version V0.0.1

* @date 2016-09-08

*/

public class SysLog {

public static Logger log = Logger.getLogger(SysLog.class);

/**

* 打印警告

*

* @param obj

*/

public static void warn(Object obj) {

try{

/*** 获取输出信息的代码的位置 ***/

String location = "";

StackTraceElement[] stacks = Thread.currentThread().getStackTrace();

location = stacks[2].getClassName() + "." + stacks[2].getMethodName()

+ "(" + stacks[2].getLineNumber() + ")";

/*** 是否是异常 ***/

if (obj instanceof Exception) {

Exception e = (Exception) obj;

StringWriter sw = new StringWriter();

e.printStackTrace(new PrintWriter(sw, true));

String str = sw.toString();

log.warn(location + str);

} else {

log.warn(location + obj.toString());

}

}catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

}

/**

* 打印信息

*

* @param obj

*/

public static void info(Object obj) {

try{

/*** 获取输出信息的代码的位置 ***/

String location = "";

StackTraceElement[] stacks = Thread.currentThread().getStackTrace();

location = stacks[2].getClassName() + "." + stacks[2].getMethodName()

+ "(" + stacks[2].getLineNumber() + ")";

/*** 是否是异常 ***/

if (obj instanceof Exception) {

Exception e = (Exception) obj;

StringWriter sw = new StringWriter();

e.printStackTrace(new PrintWriter(sw, true));

String str = sw.toString();

log.info(location + str);

} else {

log.info(location + obj.toString());

}

}catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

}

/**

* 打印错误

*

* @param obj

*/

public static void error(Object obj) {

try{

/*** 获取输出信息的代码的位置 ***/

String location = "";

StackTraceElement[] stacks = Thread.currentThread().getStackTrace();

location = stacks[2].getClassName() + "." + stacks[2].getMethodName()

+ "(" + stacks[2].getLineNumber() + ")";

/*** 是否是异常 ***/

if (obj instanceof Exception) {

Exception e = (Exception) obj;

StringWriter sw = new StringWriter();

e.printStackTrace(new PrintWriter(sw, true));

String str = sw.toString();

log.error(location + str);

} else {

log.error(location + obj.toString());

}

}catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

}

/**

* 向数据库告警表中插入信息

* @param obj

*/

public static void dbWarn(Object obj) {

try{

String printInfo = "";

/*** 获取输出信息的代码的位置 ***/

String location = "";

StackTraceElement[] stacks = Thread.currentThread().getStackTrace();

location = stacks[2].getClassName() + "." + stacks[2].getMethodName()

+ "(" + stacks[2].getLineNumber() + ")";

/*** 是否是异常 ***/

if (obj instanceof Exception) {

Exception e = (Exception) obj;

printInfo = location + e.getMessage();

log.fatal(printInfo.substring(0, printInfo.length() > 512?512:printInfo.length()));

} else {

printInfo = location + obj.toString();

log.fatal(printInfo.substring(0, printInfo.length() > 512?512:printInfo.length()));

}

}catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

}

/**

* 获取调用此函数的代码的位置

* @return 包名.类名.方法名(行数)

*/

public static String getCodeLocation(){

try{

/*** 获取输出信息的代码的位置 ***/

String location = "";

StackTraceElement[] stacks = Thread.currentThread().getStackTrace();

location = stacks[2].getClassName() + "." + stacks[2].getMethodName()

+ "(" + stacks[2].getLineNumber() + ")";

return location;

}catch (Exception e) {

// TODO: handle exception

SysLog.error(e);

return "";

}

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值