技術関係

Spring Boot2.3から「logging.file」が削除されていたのでログファイルが出力されなくなるかも

Spring Bootでymlファイルにこんな設定値を書いていてSpring Boot2.3にバージョンアップしました。

logging:
  file: logs/hehe.log

すると、暫く経ってログファイルが出力されてない事に気付きました。

スポンサーリンク

理由

Spring Boot2.2で「logging.file」はDeprecatedになってました。

public class LogFile {

	/**
	 * The name of the Spring property that contains the name of the log file. Names can
	 * be an exact location or relative to the current directory.
	 * @deprecated since 2.2.0 in favor of {@link #FILE_NAME_PROPERTY}
	 */
	@Deprecated
	public static final String FILE_PROPERTY = "logging.file";

引用
https://github.com/spring-projects/spring-boot/blob/2.2.x/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/LogFile.java#L45

 

そしてSpring Boot2.3で完全に削除されてました。
https://github.com/spring-projects/spring-boot/blob/2.3.x/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/LogFile.java#L45

対応

従来どおりファイルパスとファイル名を指定するには「logging.file.name」とする。

logging:
  file.name: logs/hehe.log

これでちゃんとログが指定した場所に出力される。めでたしめでたし。

参考

Spring Boot Features 4.3. File Output

Spring Boot 2.3.0.RELEASE and Log path / stackoverflow

コメント

タイトルとURLをコピーしました