springmvc 项目中配置log4j的日志存储的相对路径

一.项目结构

二 配置工程

2.1 pom文件

 <!-- log4j相关jar -->
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.7</version>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
      <version>2.10.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>2.10.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-web</artifactId>
      <version>2.9.1</version>
    </dependency>

2.2 配置log4j文件

### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=DEBUG,info
log4j.addivity.org.apache=true

### direct messages to file mylog.log ###
#info log
log4j.logger.info=info
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.info.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.info.File=${scheduleProject}logs3/schedule.log
log4j.appender.info.Append=true
log4j.appender.info.Threshold=INFO
log4j.appender.info.layout=org.apache.log4j.PatternLayout 
log4j.appender.info.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c] \:%m%n

2.3 配置web.xml文件

确保:org.springframework.web.util.WebAppRootListener这个监听器放到ContextLoaderListener之前。

<!-- 加载log4j的配置文件log4j.properties -->
  <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:log4j.properties</param-value>
  </context-param>
  <!-- 设定刷新日志配置文件的时间间隔,这里设置为10s -->
  <context-param>
    <param-name>log4jRefreshInterval</param-name>
    <param-value>10000</param-value>
  </context-param>

  <!-- 配置log4j.xml监听器-->
  <!--需要配置在 ContextLoaderListener之前-->
  <listener>
    <listener-class>org.springframework.web.util.WebAppRootListener</listener-class>
  </listener>
  <!-- 为避免项目间冲突,定义唯一的 webAppRootKey -->
  <context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>scheduleProject</param-value>
  </context-param>

 

2.4 调式

通过System.getProperty("scheduleProject");在web.xml配置的参数

通过访问浏览器:

产看输出日志:

查看日志真实存放的位置:

扫描二维码关注公众号,回复: 12716641 查看本文章

猜你喜欢

转载自blog.csdn.net/u011066470/article/details/114374534