Spring Boot 2 ãƒã‚°å‡ºåŠ›
目次
標準
機能
ãƒã‚¬ãƒ¼
ãƒã‚°å‡ºåŠ›ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹
通常ã€finalã€static属性ã¨ã™ã‚‹
ãƒã‚°ãƒ¬ãƒ™ãƒ«
trace → debug → info → warn → error
è¨å®šã—ãŸãƒã‚°ãƒ¬ãƒ™ãƒ«ä»¥ä¸Šã®ãƒ¬ãƒ™ãƒ«ã‚’出力å¯èƒ½
ãƒã‚°ãƒ¬ãƒ™ãƒ«ï¼šinfoã‚’è¨å®šã—ãŸå ´åˆã€traceã€debugã¯ä½¿ç”¨Ã—
ãƒã‚°ãƒ‘ターン
<encoder>
 <pattern>パターン</pattern>
</encoder>
ã§æŒ‡å®š
%å¤‰æ›æŒ‡å®šå{オプション}
å¤‰æ›æŒ‡å®šå | 機能 |
---|---|
%d{yyyyMMddHHmmss} | 日時 |
%m | ãƒã‚¬ãƒ¼ã«æ¸¡ã—ãŸæ–‡å—列 |
%p | ãƒã‚°ãƒ¬ãƒ™ãƒ« |
%t | スレッドå |
%n | 改行 |
pom.xml
<dependencies>
 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
</dependencies>
application.properties
logging.file=test.log
logging.level.org.springframework.web=INFO
logging.level.root=WARN
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR
TRACEã€DEBUGã€INFOã€WARNã€ERRORã€FATALã€OFF
App.java
package lib.myId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class App implements CommandLineRunner
{
 private static final Logger logger = LoggerFactory.getLogger(App.class);
 ~
 public void run(String… arg0) throws Exception {
  logger.debug("debug");
  logger.info("info");
  logger.error("error");
 }
}
ファイル構æˆ
mySpringBatch
â””src
 └main
  └java
   └lib
    └myId
     └App.java
 └resources
  └config
   └application.properties
 src
 └test
 target
 └classes
 .settings
 └~
 .classpath
 .project
 pom.xml
 test.log
logback
logback-spring.xml
フォーマット
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE logback>
<configuration>
 ãƒã‚°è¨å®šâ‘
 appenderå˜ä½ã§å€‹åˆ¥ã®ãƒã‚°ã‚’è¨å®š
 <appender name="è¨å®šåâ‘ " class="~">
  <file>ãƒã‚°ãƒ•ァイルåâ‘ </file>
  <rollingPolicy class="~">
   <fileNamePattern>自動生æˆãƒ•ァイルåパターン</fileNamePattern>
   <maxHistory>ãƒã‚°ãƒ•ァイルã®å¯¿å‘½</maxHistory>
  </rollingPolicy>
  <encoder>
   <charset>UTF-8</charset>
   <pattern>出力内容</pattern>
  </encoder>
 </appender>
 ãƒã‚°è¨å®šâ‘¡
 <appender name="è¨å®šåâ‘¡" class="~">
  ~
 </appender>
 アプリå´å‚ç…§å定義
 <logger name="å‚ç…§åâ‘ "
  additivity="false">
  <level value="レベル" />
  <appender-ref ref="è¨å®šåâ‘ " />
 </logger>
 <logger name="å‚ç…§åâ‘¡"
  ~ />
 </logger>
 標準ãƒã‚°è¨å®š
 <root level="INFO">
  <appender-ref ref="è¨å®šå" />
 </root>
</configuration>
例
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE logback>
<configuration>
 …
 <!–出力ルール①~コンソール~ –>
 <appender name="STDOUT"
  class="ch.qos.logback.core.ConsoleAppender">
  <target>System.out</target>
  <encoder>
   <pattern>出力内容</pattern>
  </encoder>
 </appender>
 <!–出力ルール②~WEB~ –>
 <appender name="FILE_WEB"
  class="ch.qos.logback.core.rolling.RollingFileAppender">
  <file>ãƒã‚°ãƒ•ァイルå</file>
  <rollingPolicy
   class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
   <fileNamePattern>自動生æˆãƒ•ァイルåパターン</fileNamePattern>
   <maxHistory>ãƒã‚°ãƒ•ァイルã®å¯¿å‘½</maxHistory>
  </rollingPolicy>
  <encoder>
   <charset>UTF-8</charset>
   <pattern>出力内容</pattern>
  </encoder>
 </appender>
 <!–出力ルール③~ãƒãƒƒãƒï½ž –>
 <appender name="FILE_BATCH"
  class="ch.qos.logback.core.rolling.RollingFileAppender">
  <file>ãƒã‚°ãƒ•ァイルå</file>
  <rollingPolicy
   class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
   <fileNamePattern>自動生æˆãƒ•ァイルåパターン</fileNamePattern>
   <maxHistory>ãƒã‚°ãƒ•ァイルã®å¯¿å‘½</maxHistory>
  </rollingPolicy>
  <encoder>
   <charset>UTF-8</charset>
   <pattern>出力内容</pattern>
  </encoder>
 </appender>
 
</configuration>
App.java
package lib.myId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class App implements CommandLineRunner
{
 private static final Logger logger1 = LoggerFactory.getLogger(å‚ç…§åâ‘ );
 private static final Logger logger2 = LoggerFactory.getLogger(å‚ç…§åâ‘¡);
 ~
 public void run(String… arg0) throws Exception {
  logger1.info("info");
  logger1.error("error");
  
  logger2.info("info");
  logger2.error("error");
 }
}