0
1

SpringBootでログ出力の基礎

Last updated at Posted at 2024-03-27

この記事はこれの続きです

概要

SpringBootでログ出力をやったことないから、まず何をどうしたらいいか分からない という状態向けです。

  • SpringBootの標準的な機能を使う。
  • 最小限のコード。

という基礎的な内容です。

logback-spring.xml作成

logback-spring.xmlとは『ログ出力先』『ログフォーマット』などが書かれた ログ設定ファイル です。
これを 特定の場所に置くと SpringBootが勝手にログ機能を用意してくれます。

下記のように作成。
image.png

image.png

image.png

logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE logback>
<configuration>
	
	<!-- INFO以上のレベルのログは『FILE』という名前の設定でログ出力。 -->
	<root level="INFO">
        <appender-ref ref="FILE" />
    </root>
    
    <!-- ↓『FILE』という名前の設定はこう。 -->
    <!-- 一定の規則にしたがってログファイルを切替(ローリング)。 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
		
		<!-- 時間でログファイルを切替。 -->
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			
			<!-- ログ出力先フォルダーとログファイル名。 -->
			<!-- ログファイル名に日時情報を埋め込みたい時は %d{yyyyMMdd} を使う。 -->
			<!-- この設定の場合、日単位でログファイルが切り替わる。 -->
            <fileNamePattern>C:\Neko\Log\%d{yyyyMMdd}.log</fileNamePattern>
            
            <!-- ログファイル保存日数。 -->
            <maxHistory>30</maxHistory>
            
        </rollingPolicy>
		
        <encoder>
			<!-- ログフォーマット。 -->
			<!-- 『%』のあとの『-24』は『24文字でスペース埋め』という意味。 -->
			<!-- スペース埋めによって縦揃えができるので、人が読みやすいログにできる。 -->
            <pattern>%-24d{yyyy-MM-dd HH:mm:ss.SSS},%-6level,%-36thread,%-70logger{36},%msg%n</pattern>
        </encoder>
        
    </appender>
    
</configuration>

Controllerクラス

DemoController.java
package com.example.demo;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;


@Controller
public class DemoController {

	
	private final Logger log = LoggerFactory.getLogger(this.getClass());
	
	
	@GetMapping("/")
	public String getIndex(Model model) {
		
		
		log.info("ログ出力にゃん");
		log.info("ログ出力にゃんにゃん");
		log.warn("うわーん");
		log.error("やばい!");
		
		
		return "/index";
		
		
	}
	
	
}

実行結果

image.png

image.png

構成

赤枠が追加 or 変更になったファイルです。
image.png

この記事の続き

参考サイトさん

バージョン

Microsoft Windows [Version 10.0.19045.4170]
Spring Boot v3.1.10

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1