トップ OSS紹介 Logback

Logback

サポート対象

NRIのOpenStandiaが提供するLogback最新情報

バージョンアップ情報

Logback情報

Logbackとは

Logbackは、Log4jの後継プロジェクトとなることを目的としており、Log4jの創設者であるCeki Gülcü氏によって設計されました。

Logbackは強固なロギングシステムの設計で得られた10年の経験に基づいており、既存のロギングシステムよりも高速で、使用するリソースも小さくなっています。

また、Logbackは他のロギングシステムにはない独自の便利な機能を提供しています。

現在、Logbackはlogback-core、logback-classic、logback-accessの3つのモジュールに分かれており、logback-coreモジュールは、 他の2つのモジュールのベースとなり、logback-classicモジュールは、大幅に改善されたバージョンのLog4j 1.xの内容を吸収できます。

logback-accessモジュールは、TomcatやJettyなどのサーブレットコンテナと統合して、HTTPアクセスログ機能を提供します。

主な機能

主な機能は以下のとおりです。

  • ログ出力方法指定機能(Logger)
  • ログ出力先指定機能(Appender)
  • ログ出力フォーマット指定機能(Layout)
  • ログフィルタリング機能(Filter)

主な特徴

主な特徴は以下のとおりです。

高速&メモリ削減

Log4j 1.xと比較して、一部の重要な処理が約10倍に高速化され、メモリ使用量も削減されている。

汎用性

logback-classicはSLF4J APIをネイティブ実装しているため、LogbackとLog4j 1.xやjava.util.logging(JUL)などの他のロギングフレームワークを簡単に切り替えることができる。

柔軟性

Logbackの設定は、プログラム、XMLまたはGroovy形式で表現されたスクリプトを使用して構成することができる。 また、既存のWebアプリケーションのlog4j.propertiesを、logback.xmlに変換することもできる。
また、設定ファイルの条件付き処理をサポートしているため、単一の設定ファイルで開発、テスト、本番などのさまざまな環境を適切にターゲットにできる。

幅広い
フィルタリング機能

Log4j 1.xが提供するものよりも幅広いフィルタリング機能が付属している (たとえば、問題の特定を担当するユーザーのみデバッグレベルとし、それ以外のユーザーは警告レベルでログを保持することができる)。

類似プロダクト

  • Apache Log4j
  • java.util.logging (JUL)

Logback、Log4j、Log4j2のパフォーマンス比較

単位:ops/ms

スレッド

Log4j 同期

Log4j 非同期

Log4j2 同期

Log4j2 非同期

Logback 1.3.0 同期

Logback 1.3.0 非同期

1

987.08

745.34

884.33

844.67

2,139.83

1,760.30

2

542.27

716.09

1,220.76

819.40

2,276.77

1,821.36

4

639.86

676.35

1,406.60

770.27

1,836.99

1,799.39

8

633.13

726.21

1,257.63

733.25

1,787.62

1,774.99

16

585.13

693.74

1,211.31

722.34

1,813.09

1,815.10

32

643.85

657.08

1,203.27

704.08

1,782.81

1,751.21

64

576.67

696.21

1,236.37

726.15

1,740.27

1,644.81

Logbackのログレベル

Logbackは、5つのログレベルを標準提供します。

レベルは下表のように順序付けられていることを前提としています。

(TRACE < DEBUG < INFO < WARN < ERROR)

TRACE

重要度の低い情報イベント

DEBUG

重要度が非常に低い情報イベント

INFO

全体的な進行状況を示すイベント

WARN

潜在的に有害な状況を示すイベント

ERRROR

エラーイベント(致命的であるかどうかに係わらない)

動作環境

前提となる動作環境は、以下のとおりです。

サーバOS

Java Runtime Environment(JRE)の動作環境に準ずる

その他動作環境

Logbackのバージョン1.3.x以降はビルドにJava 9が必要です。
(但し、Java8以降で実行は可能です。)
Logbackのバージョン1.2.xの場合はJava 6.xが必要です。

Logbackのライセンス

Logbackは Eclipse Public License v1.0、もしくはLesser General Public License version 2.1に従って再配布することができます。

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Prometheus
    サポート対象

    Prometheus

    プロメテウス。GO言語で書かれたオープンソースのモニタリングツールです。

  • Loki

    Loki

    ロキ。Prometheusに着想を得た、水平方向にスケーラブルすることで可用性を高めたマルチテナントのログ集約システムです。

  • Logstash

    Logstash

    ログスタッシュ。Elastic社により開発された、データ収集ツールです。

  • Apache Log4j
    サポート対象

    Apache Log4j

    アパッチログフォージェイ。オープンソースのJava プログラム用のロギングユーティリティ(API)です。

オープンソースに関する様々な課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。