2017-07-04 25 views
0

私のアプリケーションをlog4j2に正しく統合したかどうかはわかりませんが、私の目的ははっきりしています。私はログファイルの中でそれぞれ小さなものlogging informationをキャプチャしたいと思っています。私はしかし、私は私のコンソールですべてのログ情報を取得行うorg.springframeworkログの詳細をキャプチャすることができますがorg.apache.tiles.ためにそうすることができませんが、logging informationspring framework loading + apache tiles loading + my app loading and runtime logging.log4j2を使ってアプリケーション全体をログに記録する方法は?

が含まれています。

タイルのログから何もキャプチャしなかったのではなく、キャプチャしますが、ログ情報はほとんどありません。コンソールで見ることのできるロギング情報の量は、ログファイルにはほとんど現れていません。ここで

は私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> 

コンソール

[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' 

にログの量を捕獲したタイルのための私の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> 

ログですキャプチャするのは上記ログの詳細の最後の6行です。

動作が正常かどうか疑問です。

答えて

1

コンソールのログ情報の量は、ログファイルには少しでも小さくなります( )。この動作は大丈夫ですか?

はい。

設定ファイルによると、あなたはログファイルにのみ3パッケージ(com.jio.tinyorg.springframeworkorg.apache.tiles)のログを書いています。しかし、すべてのログ(レベルdebug以上)は、上記の3つのパッケージのログを含むコンソールに書き込まれています。したがって、コンソールにはファイルより多くのログが存在することが予想されます。

コンソールとログファイルを同じログに設定することはできますか?どうやって?

Loggers部分から余分なLogger定義を削除し、コンソールアペンダと一緒にファイルアペンダを参照してください。お返事のための

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

感謝を次のように、コンソールで同じログを持っているし、ファイルを記録するために、あなたのLoggersセクションでは、することができます。あなたの答えは私の要求に合っていますが、パッケージレベルでロギングを管理することはまだ可能ですか? – Satyaprakash

+0

'STDOUT'を参照している場合は常に' LOGFILE'を参照してください。逆も同様です。 – sazzad

関連する問題