log4j日志工具类

/**
* log4j日志Util
*/
public class LogUtil {
private static Logger logger=null;

static{
StackTraceElement[] stackTraceElements=new Throwable().getStackTrace();
String callerClassName=stackTraceElements[1].getClassName();
logger=LoggerFactory.getLogger(callerClassName);
}

private LogUtil(){}

//---------------------error---------------------------------
public static void error(String param,String msg,Throwable e){
StackTraceElement se = Thread.currentThread().getStackTrace()[2];
String clazzMethod = " "+se.getClassName() +"." + se.getMethodName() + "("+se.getFileName()+":"+se.getLineNumber()+") ";

String log = clazzMethod+" PARAMS: " +param+" "+" MSG: "+ msg;
logger.error(log,e);
}

//---------------------warn----------------------------------
public static void warn(String param,String msg){
StackTraceElement se = Thread.currentThread().getStackTrace()[2];
String clazzMethod = " "+se.getClassName() +"." + se.getMethodName() + "("+se.getFileName()+":"+se.getLineNumber()+") ";

String log = clazzMethod+" PARAMS: " +param+" "+" MSG: "+ msg;
logger.warn(log);
}

//---------------------info----------------------------------
public static void info(String param,String msg){//
StackTraceElement se = Thread.currentThread().getStackTrace()[2];
String clazzMethod = " "+se.getClassName() +"." + se.getMethodName() + "("+se.getFileName()+":"+se.getLineNumber()+") ";

String log = clazzMethod + " PARAMS: " +param+" "+" MSG: "+ msg;
logger.info(log);
}

public static void debug(String msg) {
StackTraceElement se = Thread.currentThread().getStackTrace()[2];
String clazzMethod = " "+se.getClassName() +"." + se.getMethodName() + "("+se.getFileName()+":"+se.getLineNumber()+") ";

String log = clazzMethod + " MSG: "+ msg;
logger.debug(log);
}

}

时间: 2024-08-24 14:00:28

log4j日志工具类的相关文章

Java 基于log4j的日志工具类

Java 基于log4j的日志工具类 对log4j日志类进行了简单封装,使用该封装类的优势在于以下两点: 1.不必在每个类中去创建对象,直接类名 + 方法即可 2.可以很方便的打印出堆栈信息 package com.tradeplatform.receiveorder.util; import java.io.PrintWriter; import java.io.StringWriter; import org.apache.log4j.Logger; /** * @Description 日

Android开发调试日志工具类[支持保存到SD卡]

直接上代码: package com.example.callstatus; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.net.UnknownHostException; import java.text.SimpleDateFormat; impor

安卓开发技巧二:自定义日志工具类XLog的实现

我们在开发过程中,打印日志是必不可少的一个调试环节,然而,直接使用系统自带的Log日志类,并不能满足我们实际项目的需求:假如我们现在在开发一款比较大的项目,用到打印日志的地方肯定特别多,等到真正上线的时候,我们是不希望日志依旧能够打印出的,原因很简单,不仅多少有些影响效率,更有可能导致信息的泄露,所以我们就需要把所有的日志打印语句全部取消掉,难道我们真的一个一个的去删除这些打印日志的语句吗?项目那么大,就是想删除,也得耗费大量的时间和精力!大家不用怕,笔者这就给大家带来一款控制线上版本和线下版本

Android LogUtils打印日志工具类

LogUtils打印日志工具类 这是一个从XUtils3中摘抄出来的打印日志工具类.这个类打印日志比较详细,可以打印类名.方法名.isDebug为打印日志开关,初始化的时候可以使用LogUtils.isDebug(boolean b)来控制开关状态. public class LogUtils { public static String customTagPrefix = "x_log"; private static boolean isDebug = true; private

Log4j 日志工具demo以及配置文件实例

在项目中产生日志是一个项目所必须的,现在用的比较广泛,比较流行的日志工具 就有 log4j :这个日志工具其实使用起来是很方便的:在使用的时候创建什么的都和java.util.logging.Logger一样的,而jdk的log日志信息的获取和导出是使用Handler 对象,而导出的信息的格式是通过Formatter对象来定义的而log4j的日志信息导入,以及格式是在配置文件中进行配置的.具体看下面: 1. 导入需要的架包:(1).log4j.jar  (2).commons-pool.jar

log4j日志工具

一.关于日志 1.日志定义:项目在运行阶段产生的信息 2.日志级别 最常见的日志级别有4个: error :错误日志 warn:警告日志 info:流程日志 debug:调试日志 优先级从高到低分别是ERROR.WARN.INFO.DEBUG log4j程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少 3.日志级别如何选择(在实际工作中,): 在代码开发阶段:使用debug级别 在正式运行阶段:使用ERROR.WARN.INFO中的某一个 info:想查看流程信息

一个功能强大的日志工具类

日志可谓是开发中必不可少的工具了, 但是一般的日志信息难以满足我们的需要,特别是对于大一点的复杂的项目,日志太多,经常导致我们定位不到打印日志的位置.因此我们希望打印的日志能告诉我们日志是在哪里打印的,哪个类,哪个方法,哪一行? 更进一步,最好我点击日志就能跳转到源码处,那就更好啦. 同时,对于一些模块很多的大型app,bug偶尔出现的情况, 有时要修复bug通常要联系整个模块的上下文信息才能找到, 这时我们可以将同一个模块的TAG设置为一样的,最好能将相关日志写入本地,以便测试提出bug的时候

apache log4j日志工具使用入门[maven 项目配置]

简单的介绍下Maven项目中有关org.apache.log4j.Logger的使用.[1]首先我们需要找到 org.apache.log4j.Logger的坐标,并配置到POM.xml <dependency>     <groupId>log4j</groupId>     <artifactId>log4j</artifactId>     <version>1.2.14</version>     <scop

python logger日志工具类

#! /usr/bin/env python # coding=gbk import logging, os class logger: def __init__(self, path, clevel=logging.DEBUG, Flevel=logging.DEBUG): self.logger = logging.getLogger(path) self.logger.setLevel(logging.DEBUG) fmt = logging.Formatter('[%(asctime)s