java log4j 自定义日志_log4j自定义日志输出

import java.io.ByteArrayOutputStream;

import java.io.PrintWriter;

import java.util.Map;

import org.apache.log4j.Logger;

import org.apache.log4j.PropertyConfigurator;

/**

*

*/

public class LogUtil {

private static LogUtil logUtil = null;

private Logger log;

// 环境变量名称

private static final String OM_HOME = "OM_HOME";

private LogUtil(Class c) {

// 获取用户自定义环境变量

Map envMap = System.getenv();

String envPath = (String) envMap.get(OM_HOME);

//获取系统分隔符

String separator = System.getProperty("file.separator");

String log4jPath = (new StringBuilder()).append(envPath).append(separator).append("log4j.properties").toString();

PropertyConfigurator.configure(log4jPath);

log = Logger.getLogger(c);

}

public static LogUtil newInstance(Class c) {

if (logUtil == null) {

logUtil = new LogUtil(c);

}

return logUtil;

}

private String objToString(Object obj) {

if (obj instanceof Exception) {

if (((Exception) obj).getStackTrace() != null) {

ByteArrayOutputStream buf = new ByteArrayOutputStream();

((Exception) obj).printStackTrace(new PrintWriter(buf, true));

return buf.toString();

} else {

return ((Exception) obj).getMessage();

}

} else {

return obj.toString();

}

}

public void info(Object obj) {

log.info(objToString(obj));

}

public void debug(Object obj) {

log.debug(objToString(obj));

}

public void error(Object obj) {

log.error(objToString(obj));

}

public void fatal(Object obj) {

log.fatal(objToString(obj));

}

public void warn(Object obj) {

log.warn(objToString(obj));

}

}

log4j.properties  配置文件

log4j.rootLogger=INFO,R

#log4j.logger.com.zte.soa=OFF,FATAL,ERROR,WARN,INFO,DEBUG,ALL

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

#log4j.appender.R=org.apache.log4j.RollingFileAppender

#log4j.appender.R.File=log.txt

#log4j.appender.R.MaxFileSize=500KB

#log4j.appender.R.MaxBackupIndex=10

#log4j.appender.R.layout=org.apache.log4j.PatternLayout

#log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] - %m%n

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c] [%p] - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender

#log4j.appender.R.File=

log4j.appender.R.File=XXXX

log4j.appender.R.MaxBackupIndex=30

log4j.appender.R.MaxFileSize=2048KB

log4j.appender.R.encoding=UTF-8

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值