ノー喜びで、私はここにいくつかの質問に対する回答で見つかったすべての提案をしようと、ほとんど2固体日間壁に頭を叩いてきました。春は正常に記録されているようですが、私のアプリケーションクラスからは何も記録されていません。私はSpringブート1.5.3を使用しており、log4jを使用し、Tomcatコンテナで実行するアプリケーションを構築しています(したがって、Springの埋め込みTomcatコンテナは必要ありません)。ここに私の元のpom.xmlにあった依存関係は、次のとおりです。私のクラスはログに記録されませんが、Springはログを記録します(Mavenとlog4jを使ったSpringブート)。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
<exclusion>
<artifactId>log4j-over-slf4j</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
私は結果に変化がないと@ M.Deinumによって提案された解決策を試してみました:春は、成功したログイン私のクラスはしませんでした。現在、私のpom.xmlでの依存関係があるだけで
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="org.springframework.beans.factory" level="DEBUG"/>
<Root level="DEBUG">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
:私は私のアプリのクラスパスのルートにある以下の設定ファイルを持っている
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
:その場合のpom.xmlは、このように見えました順列私は春Frameworkリファレンス4.3.8.RELEASEから取られたコードを使用して、試してみたと、複数の質問のloooooongラインの最新はStackOverflowの上ここに答えました。
はロガーの初期化 – Zico
と一緒にあなたのクラスレベルのロギングの例を示し、すべての後、((ちょうど '春ブート-logging'を除外)と'春・ブート・スターター・log4j2'の代わりに、個々の依存関係を追加除いを削除しますあなたがサポートされ、管理バージョンを取得。 –
@Zicoを私はこれがあなたの質問に答えるわからないんだけど、私のクラスは 'org.apache.logging.log4j.LogManager'と' org.apache.logging.log4j.Logger'をインポートしています。クラス(すべてのシングルトンSpring Bean)は 'private static final Logger logger = LogManager.getLogger(ThisClass.class);'を作成し、 'logger.debug("ログファイルに書き込まれないテキストを " ) '。 – Thom