Spring Boot でコンソールにエラー以外のログを出さないようにするには、ログレベルを ERROR に設定すればOK
Spring Boot でコンソールにエラー以外のログを出さないようにするには、ログレベルを ERROR
に設定すればOKです。以下の方法があります。
1. application.properties
または application.yml
で設定する
Spring Boot のログ設定は application.properties
または application.yml
で制御できます。
application.properties
の場合
logging.level.root=ERROR
application.yml
の場合
logging:
level:
root: ERROR
これで、コンソールには ERROR
レベル以上(ERROR, FATAL)のログのみ出力され、それ以外(INFO, DEBUG, TRACE)は表示されません。
2. コマンドライン引数で設定する
Spring Boot を起動するときに、--logging.level.root=ERROR
を指定すれば、ログレベルを変更できます。
java -jar myapp.jar --logging.level.root=ERROR
3. クラス単位で制御する
特定のパッケージやクラスごとにログレベルを制御することも可能です。
例えば、Spring の Web 関連のログをエラーだけにする場合:
logging.level.org.springframework=ERROR
4. logback.xml
で設定する
Spring Boot はデフォルトで Logback を使用しているので、logback.xml
を設定しても制御できます。
<configuration>
<logger name="root" level="ERROR"/>
</configuration>
5. Java コードで設定する
アプリケーションの起動時にプログラムで設定することも可能です。
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.LoggerContext;
public class LoggingConfig {
public static void main(String[] args) {
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
loggerContext.getLogger("root").setLevel(Level.ERROR);
}
}
結論
コンソールに エラーだけ を出すなら、以下の設定が一番手軽です。
logging.level.root=ERROR
アプリケーションの種類や環境に応じて、適切な方法を選んでください。
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール
