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

 

 

posted @ 2011-12-30 17:40  采姑娘的蘑菇  阅读(2314)  评论(0编辑  收藏  举报