2017-07-04 2 views
0

Je ne suis pas sûr d'avoir correctement intégré mon application avec log4j2 mais mon objectif est très clair. Je veux capturer chaque minuscule logging information dans mon fichier journal. Le logging information comprend le spring framework loading + apache tiles loading + my app loading and runtime logging.Comment utiliser log4j2 pour enregistrer toute l'application?

Même si je suis en mesure de capturer org.springframework les détails de l'exploitation forestière, mais incapable de le faire pour org.apache.tiles. Cependant, je ne reconnaît toutes les informations de journalisation dans ma console.

Ce n'est pas comme si cela n'avait rien capturé du tout lors de la journalisation des mosaïques, je capture mais il y a quelques informations de consignation. La quantité d'informations de journalisation que je peux voir dans la console n'est même pas très proche dans le fichier journal.

Voici mon log4j2.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE xml> 
<Configuration monitorInterval="60"> 
    <Properties> 
     <Property name="filename">D://log/</Property> 
    </Properties> 
    <Appenders> 
     <Console name="STDOUT" target="SYSTEM_OUT"> 
      <PatternLayout 
       pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" /> 
     </Console> 
     <File name="LOGFILE" fileName="${filename}/SpringWebJsp.log"> 
      <PatternLayout 
       pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" /> 
     </File> 
    </Appenders> 
    <Loggers> 
     <Logger name="com.jio.tiny" level="info" additivity="true"> 
      <AppenderRef ref="LOGFILE" level="info" /> 
     </Logger> 
     <Logger name="org.springframework" level="info" additivity="true"> 
      <appender-ref ref="LOGFILE" level="info" /> 
     </Logger> 
     <Logger name="org.apache.tiles" level="debug" additivity="true"> 
      <appender-ref ref="LOGFILE" level="debug" /> 
     </Logger> 
     <!--<Logger name="org.springframework.security" level="debug" additivity="true"> 
      <appender-ref ref="LOGFILE" level="debug" /> 
     </Logger> --> 
     <!-- <Logger name="org.thymeleaf" level="info" additivity="true"> 
      <appender-ref ref="LOGFILE" level="info" /> 
     </Logger> --> 
     <!-- <Logger name="org.hibernate" level="info" additivity="true"> 
      <appender-ref ref="LOGFILE" level="info" /> 
     </Logger> --> 
     <Root level="debug"> 
      <AppenderRef ref="STDOUT" /> 
     </Root> 
    </Loggers> 
</Configuration> 

mon pom.xml

<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"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.jio.tiny</groupId> 
    <artifactId>SpringWebJsp</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>SpringWebJsp Maven Webapp</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <java.version>1.8</java.version> 
     <maven.compiler.source>1.8</maven.compiler.source> 
     <maven.compiler.target>1.8</maven.compiler.target> 
     <apachetiles.version>3.0.5</apachetiles.version> 
     <apache.logger.version>2.8.2</apache.logger.version> 
    </properties> 

    <repositories> 
     <repository> 
      <id>io.spring.repo.maven.release</id> 
      <url>http://repo.spring.io/release/</url> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </repository> 
    </repositories> 

    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-framework-bom</artifactId> 
       <version>4.1.9.RELEASE</version> 
       <type>pom</type> 
       <scope>import</scope> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 

    <dependencies> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
     </dependency> 

     <!-- Apache Tiles --> 

     <dependency> 
      <groupId>org.apache.tiles</groupId> 
      <artifactId>tiles-core</artifactId> 
      <version>${apachetiles.version}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>org.slf4j</groupId> 
        <artifactId>jcl-over-slf4j</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>org.slf4j</groupId> 
        <artifactId>slf4j-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.tiles</groupId> 
      <artifactId>tiles-api</artifactId> 
      <version>${apachetiles.version}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>org.slf4j</groupId> 
        <artifactId>slf4j-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.tiles</groupId> 
      <artifactId>tiles-servlet</artifactId> 
      <version>${apachetiles.version}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>org.slf4j</groupId> 
        <artifactId>slf4j-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.tiles</groupId> 
      <artifactId>tiles-jsp</artifactId> 
      <version>${apachetiles.version}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>org.slf4j</groupId> 
        <artifactId>slf4j-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 

     <!-- Apache Log4j2 --> 

     <dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-api</artifactId> 
      <version>${apache.logger.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-core</artifactId> 
      <version>${apache.logger.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-jcl</artifactId> 
      <version>${apache.logger.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-slf4j-impl</artifactId> 
      <version>${apache.logger.version}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>org.slf4j</groupId> 
        <artifactId>slf4j-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <!-- <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-simple</artifactId> 
      <version>1.7.6</version> 
     </dependency> --> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-ext</artifactId> 
      <version>1.7.24</version> 
     </dependency> 

     <!-- Servlet+JSP+JSTL --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet.jsp</groupId> 
      <artifactId>javax.servlet.jsp-api</artifactId> 
      <version>2.3.1</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.2</version> 
     </dependency> 

    </dependencies> 

    <build> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <!-- <version>3.2</version> --> 
        <configuration> 
         <source>1.8</source> 
         <target>1.8</target> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-war-plugin</artifactId> 
        <version>2.4</version> 
        <configuration> 
         <warSourceDirectory>src/main/webapp</warSourceDirectory> 
         <warName>SpringWebJsp</warName> 
         <failOnMissingWebXml>false</failOnMissingWebXml> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-dependency-plugin</artifactId> 
        <configuration> 
         <outputDirectory> 
          D://log/jars/ 
         </outputDirectory> 
        </configuration> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
     <finalName>SpringWebJsp</finalName> 
    </build> 
</project> 

enregistrement pour tuiles capturées dans la console

[DEBUG] 2017-07-04 22:02:57.504 [tomcat-http--2] sax - setDocumentLocator(com.sun.or[email protected]261c3a65) 
[DEBUG] 2017-07-04 22:02:57.504 [tomcat-http--2] sax - startDocument() 
[DEBUG] 2017-07-04 22:02:57.504 [tomcat-http--2] sax - resolveEntity('-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN', 'http://tiles.apache.org/dtds/tiles-config_3_0.dtd') 
[DEBUG] 2017-07-04 22:02:57.504 [tomcat-http--2] Digester - Resolving to alternate DTD 'jar:file:/D:/sts-bundle/pivotal-tc-server-developer-3.2.4.SR1/base-instance/wtpwebapps/SpringWebJsp/WEB-INF/lib/tiles-core-3.0.5.jar!/org/apache/tiles/resources/tiles-config_3_0.dtd' 
[DEBUG] 2017-07-04 22:02:57.506 [tomcat-http--2] sax - startElement(,tiles-definitions,tiles-definitions) 
[DEBUG] 2017-07-04 22:02:57.506 [tomcat-http--2] Digester - Pushing body text '' 
[DEBUG] 2017-07-04 22:02:57.506 [tomcat-http--2] Digester - New match='tiles-definitions' 
[DEBUG] 2017-07-04 22:02:57.506 [tomcat-http--2] Digester - No rules found matching 'tiles-definitions'. 
[DEBUG] 2017-07-04 22:02:57.507 [tomcat-http--2] sax - ignorableWhitespace(

    ) 
[DEBUG] 2017-07-04 22:02:57.507 [tomcat-http--2] sax - ignorableWhitespace(
    ) 
. 
. 
Similar piles of log continue 
. 
. 
[DEBUG] 2017-07-04 22:02:57.540 [tomcat-http--2] BaseLocaleUrlDefinitionDAO - File Resource file:/D:/sts-bundle/pivotal-tc-server-developer-3.2.4.SR1/base-instance/wtpwebapps/SpringWebJsp/WEB-INF/views/tiles/tiles_en.xml at file:/D:/sts-bundle/pivotal-tc-server-developer-3.2.4.SR1/base-instance/wtpwebapps/SpringWebJsp/WEB-INF/views/tiles/tiles_en.xml not found, continue 
[DEBUG] 2017-07-04 22:02:57.540 [tomcat-http--2] BaseLocaleUrlDefinitionDAO - File Resource file:/D:/sts-bundle/pivotal-tc-server-developer-3.2.4.SR1/base-instance/wtpwebapps/SpringWebJsp/WEB-INF/views/tiles/tiles_en_US.xml at file:/D:/sts-bundle/pivotal-tc-server-developer-3.2.4.SR1/base-instance/wtpwebapps/SpringWebJsp/WEB-INF/views/tiles/tiles_en_US.xml not found, continue 
[DEBUG] 2017-07-04 22:02:57.654 [tomcat-http--2] ResolvingLocaleUrlDefinitionDAO - Resolve definition for child name='home' extends='base-definition. 
[DEBUG] 2017-07-04 22:02:57.654 [tomcat-http--2] ResolvingLocaleUrlDefinitionDAO - Resolve definition for child name='products' extends='base-definition. 
[DEBUG] 2017-07-04 22:02:57.654 [tomcat-http--2] ResolvingLocaleUrlDefinitionDAO - Resolve definition for child name='contactus' extends='base-definition. 
[DEBUG] 2017-07-04 22:02:57.661 [tomcat-http--2] BasicTilesContainer - Render request received for definition 'home' 

Le montant de l'exploitation forestière que mon fichier journal en mesure capturer est juste les six dernières lignes des détails du journal ci-dessus.

Je me demande si le comportement est correct!

Répondre

1

La quantité d'informations de journalisation dans la console n'est même pas fermer dans le fichier journal. Ce comportement est-il correct?

Oui.

Selon votre fichier de configuration, vous écrivez des journaux de seulement 3 paquets (com.jio.tiny, org.springframework et org.apache.tiles) dans le fichier journal. Mais chaque journal (avec le niveau debug ou supérieur) est écrit dans la console, y compris les journaux des 3 paquets mentionnés. On s'attend donc à ce que la console ait plus de journaux que de fichiers.

Est-il possible de définir la console et le fichier journal pour avoir les mêmes journaux? Comment?

Supprimer Logger supplémentaires définitions de la section Loggers et le fichier se référer appender avec appender console. Ainsi, pour avoir les mêmes journaux dans la console et le fichier journal, votre section Loggers peut être comme suit:

<Loggers> 
    <Root level="debug"> 
     <AppenderRef ref="STDOUT" /> 
     <AppenderRef ref="LOGFILE" /> 
    </Root> 
</Loggers> 
+0

Merci pour votre réponse. Bien que votre réponse corresponde à mes exigences, je me demande s'il est toujours possible de gérer la journalisation au niveau du paquet. – Satyaprakash

+0

Essayez de faire référence à 'LOGFILE' partout où vous faites référence' STDOUT' et vice versa. – sazzad