Log4j 在ssh下的配置

本文介绍如何在项目中配置Log4j进行日志记录,包括在pom.xml文件中添加依赖、设置log4j.properties文件以指定不同级别的日志输出路径及格式,以及在Web.xml中添加监听器。

配置pom.xml

安装必要的jar包

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.3</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.25</version>
</dependency>

 

配置log4j.properties

### set log levels ###
log4j.rootLogger = info , INFO ,WARN, DEBUGD , ERROR

### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n

### 输出到日志文件 ###
log4j.appender.WARN = org.apache.log4j.DailyRollingFileAppender
log4j.appender.WARN.File = ${log4jdir}/logs/warn/log_info.log
log4j.appender.WARN.Append = true
log4j.appender.WARN.Threshold = DEBUG ## 输出DEBUG级别以上的日志
log4j.appender.WARN.layout = org.apache.log4j.PatternLayout
log4j.appender.WARN.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n


### 输出到日志文件 ###
log4j.appender.INFO = org.apache.log4j.RollingFileAppender
log4j.appender.INFO.File = ${log4jdir}/logs/info/log_info.log
log4j.appender.INFO.Append = true
log4j.appender.INFO.Threshold = INFO ## 输出DEBUG级别以上的日志
log4j.appender.INFO.MaxFileSize = 1MB
log4j.appender.INFO.layout = org.apache.log4j.PatternLayout
log4j.appender.INFO.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
log4j.appender.INFO.MaxBackupIndex = 10
log4j.appender.INFO.Encoding = UTF-8


### 输出到日志文件 ###
log4j.appender.DEBUGD = org.apache.log4j.DailyRollingFileAppender
log4j.appender.DEBUGD.File = ${log4jdir}/logs/debug/log.log
log4j.appender.DEBUGD.Append = true
log4j.appender.DEBUGD.Threshold = DEBUG ## 输出DEBUG级别以上的日志
log4j.appender.DEBUGD.layout = org.apache.log4j.PatternLayout
log4j.appender.DEBUGD.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
log4j.appender.DEBUGD.Encoding = UTF-8
### 保存异常信息到单独文件 ###
log4j.appender.ERROR = org.apache.log4j.DailyRollingFileAppender
log4j.appender.ERROR.File = ${log4jdir}/logs/error/error.log
log4j.appender.ERROR.Append = true
log4j.appender.ERROR.Threshold = ERROR ## 只输出ERROR级别以上的日志!!!
log4j.appender.ERROR.layout = org.apache.log4j.PatternLayout
log4j.appender.ERROR.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
log4j.appender.ERROR.Encoding = UTF-8

 

配置Webxml 添加ServletContextListener  

<listener>
    <listener-class>com.log.log4jInit</listener-class>
</listener>

添加监听类log4jInit

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class log4jInit implements ServletContextListener {
    public static final String log4jdirkey = "log4jdir";
    public void contextDestroyed(ServletContextEvent servletcontextevent) {
        System.getProperties().remove(log4jdirkey);
    }
    public void contextInitialized(ServletContextEvent servletcontextevent) {
        String log4jdir = servletcontextevent.getServletContext().getRealPath("/");
        //System.out.println("log4jdir:"+log4jdir);
        System.setProperty(log4jdirkey, log4jdir);
    }
}

 

转载于:https://www.cnblogs.com/imaye/p/9667085.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值