Open2

パッケージによってログの出力先を切り替えたい(Java x SpringBoot)

ふじしろふじしろ

学習記事

Spring Boot + Logbackでログを出力する - asoview! TECH BLOG

実装

項目の後半でサブロガーに名前をつけてログ出力ルールを指定している。
記事中コードの④。
これが設定ファイル上の設定か。

ログ出力コード

出力側の記述方法が記載されている。
ロガーを生成する際に、ログ対象を指定している感じ。
以下コード引用

Logger loggerA = org.slf4j.LoggerFactory.getLogger("com.hoge"); 
Logger loggerB = org.slf4j.LoggerFactory.getLogger(getClass().getPackage().getName());
ふじしろふじしろ

メモ

Lombokの@slf4jを使っている場合、デフォルトでアノテーションを記述したクラスがgetLoggerの引数として定義される模様。

// LogExampleクラスで`@Slf4j`アノテーションを定義した場合、
 @Slf4j
 public class LogExample {
 }
 
// 実際に生成されるコードはこうなる。
 public class LogExample {
     private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
 }

Slf4j (Lombok)