struts2 timer拦截器不输出信息

原创 Laughing  2019-07-10 13:12  阅读 63 次 评论 0 条

timer拦截器输出日志信息需要依赖log4j,所以如果我们发现控制台不输出信息,基本上是因为咱们没有配置log4j。

下面通过vscode结合maven进行设置说明

1、首先需要在pom.xml中配置log4j的依赖

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  2.   <modelVersion>4.0.0</modelVersion>  
  3.   <groupId>Net.XiangCaoWuYu</groupId>  
  4.   <artifactId>Net.XiangCaoWuYu</artifactId>  
  5.   <packaging>war</packaging>  
  6.   <version>1.0-SNAPSHOT</version>  
  7.   <name>Net.XiangCaoWuYu Maven Webapp</name>  
  8.   <url>http://maven.apache.org</url>  
  9.   <dependencies>  
  10.     <dependency>  
  11.       <groupId>junit</groupId>  
  12.       <artifactId>junit</artifactId>  
  13.       <version>3.8.1</version>  
  14.       <scope>test</scope>  
  15.     </dependency>  
  16.     <dependency>  
  17.       <groupId>javax.servlet</groupId>  
  18.       <artifactId>servlet-api</artifactId>  
  19.       <version>2.5</version>  
  20.       <scope>provided</scope>  
  21.     </dependency>  
  22.       
  23.     <dependency>  
  24.       <groupId>org.apache.struts</groupId>  
  25.       <artifactId>struts2-core</artifactId>  
  26.       <version>2.5.1</version>  
  27.     </dependency>  
  28.   
  29.     <dependency>  
  30.       <groupId>org.apache.logging.log4j</groupId>  
  31.       <artifactId>log4j-core</artifactId>  
  32.       <version>2.10.0</version>  
  33.   </dependency>  
  34.   <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->  
  35.   <dependency>  
  36.       <groupId>org.apache.logging.log4j</groupId>  
  37.       <artifactId>log4j-api</artifactId>  
  38.       <version>2.10.0</version>  
  39.   </dependency>  
  40.   </dependencies>  
  41.   <build>  
  42.     <finalName>Net.XiangCaoWuYu</finalName>  
  43.     <!--项目相关的所有资源路径列表,例如和项目相关的配置文件、属性文件,这些资源被包含在最终的打包文件里。 -->  
  44.     <resources>  
  45.       <resource>  
  46.         <!--描述了资源的目标路径。该路径相对target/classes目录(例如${project.build.outputDirectory})。 -->  
  47.         <!--举个例子,如果你想资源在特定的包里(org.apache.maven.messages),你就必须该元素设置为org/apache/maven/messages。 -->  
  48.         <!--然而,如果你只是想把资源放到源码目录结构里,就不需要该配置。 -->  
  49.         <!--是否使用参数值代替参数名。参数值取自properties元素或者文件里配置的属性,文件在filters元素里列出。 -->  
  50.         <filtering>true</filtering>  
  51.         <!--描述存放资源的目录,该路径相对POM路径 -->  
  52.         <directory>${project.basedir}\src\resources</directory>  
  53.         <!--包含的模式列表 -->  
  54.         <includes>  
  55.           <include>**/*.properties</include> 
  56.           <include>**/*.xml</include>  
  57.         </includes>  
  58.         <!--排除的模式列表 如果<include>与<exclude>划定的范围存在冲突,以<exclude>为准 -->  
  59.         <excludes>  
  60.           <exclude>jdbc.properties</exclude>  
  61.         </excludes>  
  62.       </resource>  
  63.     </resources>  
  64.     <!--项目源码目录,当构建项目的时候,构建系统会编译目录里的源码。该路径是相对于pom.xml的相对路径。 -->  
  65.     <sourceDirectory>${basedir}\src\</sourceDirectory>  
  66.       
  67.     <!--项目脚本源码目录,该目录和源码目录不同,   
  68.       绝大多数情况下,该目录下的内容会被拷贝到输出目录(因为脚本是被解释的,而不是被编译的)。 -->  
  69.     <scriptSourceDirectory>${basedir}\src\scripts    
  70.     </scriptSourceDirectory>  
  71.       
  72.     <plugins>  
  73.       <plugin>  
  74.         <artifactId>maven-war-plugin</artifactId>  
  75.         <configuration>  
  76.           <!--指定web.xml文件的位置-->  
  77.           <webXml>src\WebContent\WEB-INF\web.xml</webXml>  
  78.           <!--指定jsp等文件所在位置-->  
  79.           <warSourceDirectory>src\WebContent</warSourceDirectory>  
  80.           <port>8080</port>  
  81.           <path>/</path>  
  82.         </configuration>  
  83.       </plugin>  
  84.     </plugins>  
  85.   </build>  
  86.     
  87. </project>  

在resources文件夹中增加log4j.xml的配置文件

  1. <?xml version="1.0" encoding="UTF-8"?>    
  2. <Configuration status="WARN">    
  3.   <Appenders>    
  4.     <Console name="Console" target="SYSTEM_OUT">    
  5.       <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>    
  6.     </Console>    
  7.   </Appenders>    
  8.   <Loggers>    
  9.     <Root level="info">    
  10.       <AppenderRef ref="Console"/>    
  11.     </Root>    
  12.   </Loggers>    
  13. </Configuration>   

重新部署程序执行

历史上的今天:

本文地址:https://www.lisen.me/struts2-timer-interceptor-did-not-console-log.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情