log4j与tomcat,或自已项目的整合

  
1. 文件 log4j.properties 用生成跟 TOMCAT 控制台相同信息
 
# This is the configuring for logging displayed in the Application Server
log4j.rootCategory = INFO, stdout,logfile
 
#stdout configure
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d %p [%c] - <%m>%n
 
#logfile configure
log4j.appender.logfile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File = ../logs/yintong/yintong.log
log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern = %d %p [%c] - <%m>%n
 
# Control logging for other open source packages
# Changing the log level to DEBUG when debug
log4j.logger.org.springframework = WARN
# Changing the log level to DEBUG will display SQL Hibernate generated
log4j.logger.org.hibernate = WARN
log4j.logger.org.hibernate.SQL = ERROR
log4j.logger.org.hibernate.cache = ERROR
log4j.logger.net.sf.ehcache = ERROR
log4j.logger.org.apache.commons.validator.ValidatorResources = ERROR
 
 
 
 
2. 按照LOG动作写进日志中
og4j.rootLogger = ERROR,rootLog
 
# SysOut is set to be a ConsoleAppender which outputs to System.out.
log4j.appender.SysOut = org.apache.log4j.ConsoleAppender
 
# SysOut uses PatternLayout.
log4j.appender.SysOut.layout = org.apache.log4j.PatternLayout
 
# The conversion pattern uses format specifiers. You might want to
# change the pattern an watch the output format change.
log4j.appender.SysOut.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} %-4r %-5p [%t] (%F:%L) %37c %3x - %m%n
 
#setting for appender rootLog
log4j.appender.rootLog = org.apache.log4j.RollingFileAppender
log4j.appender.rootLog.File = logs/rootLog.log
log4j.appender.rootLog.MaxFileSize = 10000KB
log4j.appender.rootLog.MaxBackupIndex = 2
log4j.appender.rootLog.layout = org.apache.log4j.PatternLayout
log4j.appender.rootLog.layout.ConversionPattern = %d{yyyy-MM-dd HH/:mm/:ss},%m%n
#-------------------------------------------------------------------------------
log4j.logger.view.debug = ERROR,debugFile
log4j.logger.view.info = INFO,infoLog
log4j.logger.view.error = ERROR,SysOut,errLog
 
 
#setting for appender debugFile
log4j.appender.debugFile = org.apache.log4j.RollingFileAppender
log4j.appender.debugFile.File = logs/debug.log
log4j.appender.debugFile.MaxFileSize = 10000KB
log4j.appender.debugFile.MaxBackupIndex = 2
log4j.appender.debugFile.layout = org.apache.log4j.PatternLayout
log4j.appender.debugFile.layout.ConversionPattern = %d{yyyy-MM-dd HH/:mm/:ss},%m%n
 
#setting for appender infoLog
log4j.appender.infoLog = org.apache.log4j.RollingFileAppender
 
## 可以指定存放目录
log4j.appender.infoLog.File = logs/srvInfo.log
log4j.appender.infoLog.MaxFileSize = 50000KB
log4j.appender.infoLog.MaxBackupIndex = 2
log4j.appender.infoLog.layout = org.apache.log4j.PatternLayout
log4j.appender.infoLog.layout.ConversionPattern = %d{yyyy-MM-dd HH/:mm/:ss},%m%n
 
#setting for appender errLog
log4j.appender.errLog = org.apache.log4j.RollingFileAppender
 
## 可以指定存放目录
log4j.appender.errLog.File = logs/srvErr.log
log4j.appender.errLog.MaxFileSize = 50000KB
log4j.appender.errLog.MaxBackupIndex = 2
log4j.appender.errLog.layout = org.apache.log4j.PatternLayout
log4j.appender.errLog.layout.ConversionPattern = %d{yyyy-MM-dd HH/:mm/:ss},%m%n
 
 
对用的工具的类是OSysLog.java
 
import java.io.PrintWriter;
import java.io.StringWriter;
 
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
 
public class OSysLog {
     // ------------------------------------------------------------------------------
     /**
      * ��� Լ ¼ ��
      */
     private static Logger debugLogger = Logger.getLogger("view.debug");
 
     /**
      * һ ���� Ϣ �� ¼ ��
      */
     private static Logger infoLogger = Logger.getLogger("view.info");
 
     /**
      * ������ Ϣ �� ¼ ��
      */
     private static Logger errorLogger = Logger.getLogger("view.error");
 
     static {
         PropertyConfigurator.configure(new OSysLog().getClass()
                   .getClassLoader().getResource(
                            "config/log4j.properties"));
     }
 
     // ------------------------------------------------------------------------------
     /**
      * �� ¼ ������ Ϣ
      *
      * @param msg
      *            �� Ϣ
      */
     public static final void debug(String msg) {
         debugLogger.debug(msg);
     }
 
     // ------------------------------------------------------------------------------
     /**
      * �� ¼ һ ���� Ϣ
      *
      * @param msg
      */
     public static final void info(String msg) {
         infoLogger.info(msg);
     }
 
     // ------------------------------------------------------------------------------
     /**
      * �� ¼ ������ Ϣ
      *
      * @param msg
      */
     public static final void error(String msg) {
         errorLogger.error(msg);
     }
 
     // ------------------------------------------------------------------------------
     public static final void error(Exception exp) {
         errorLogger.error(stackToString(exp));
     }
 
     // ------------------------------------------------------------------------------
     /**
      * �� ӡ �� exception ij �� StackTrace
      *
      * @param e
      *            ����
      * @return e.printStackTrace ��� ַ �����
      */
     private static String stackToString(Exception e) {
         try {
              StringWriter sw = new StringWriter();
              PrintWriter pw = new PrintWriter(sw);
              e.printStackTrace(pw);
              return sw.toString();
         } catch (Exception e2) {
              return "(bad stack2string)".concat(e.getMessage());
         }
     }
 
     // ------------------------------------------------------------------------------
     public static void main(String[] args) {
         debug("debug");
         info("info");
         error("error");
     }
     // ------------------------------------------------------------------------------
}
 
 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值