私はSpring STSを使って起動アプリケーションを設計しました。 ここでは、ここでいくつかのログを追加したいと思います。私は、自分のアプリケーションを起動するクラスを書いたSpring:Log4jはロギングファイルに書き込まない
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>CarsDB</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>CarsDB</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.13.1.1</version><!--$NO-MVN-MAN-VER$-->
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-http</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-solr</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
:私は依存関係を持つのpom.xmlを修正
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
# Set the name of the file
log4j.appender.FILE.File=log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, should not overwrite
log4j.appender.FILE.Append=true
# Set the maximum file size before rollover
log4j.appender.FILE.MaxFileSize=5KB
# Set the the backup index
log4j.appender.FILE.MaxBackupIndex=2
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
: はその後、this tutorial次私はlogforj4.propertiesファイルを書きましたロガーをテストするコードをいくつか追加してください:
package it.CarsDB.boot;
import org.apache.log4j.Logger;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class CarsDBApplication {
/* Get actual class name to be printed on */
static Logger log = Logger.getLogger(CarsDBApplication.class.getName());
public static void main(String[] args) throws Exception{
log.debug("Hello this is a debug message");
log.info("Hello this is an info message");
SpringApplication.run(CarsDBApplication.class, args);
}
}
写真のように私は(実際に私も、のsrc /メイン/リソースに入れて、それは私の問題のための助けにはならなかった)、のsrc /メイン/ javaの内log4j.propertiesを置きます。 これで、ログはファイル{$ log} /log.outにリダイレクトされると思われますが、そのようなファイルは作成されず、コンソール上のログしか表示されません。 私は間違っていますか?
ありがとうございました。
私はそのファイルがどこかにあると思っています。あなたが期待する場所ではありません。おそらく作業ディレクトリで、あなたはアプリを実行しています。ファイルシステム全体で探してみましたか? – amorfis
ファイルシステム全体を閲覧しましたが、log.outファイルを探していますが、そのファイルは作成されていません。 – Bia
Springはlogbackを使用するので、実際には 'logback.xml'ファイルが必要です。設定例をここで確認してください:http://blog.patouchas.net/technology/logging-with-logback-and-external-configuration/ – amorfis