Javaの環境でSL4J、Logbackの設定をした。

a1600 000257 m 1024x683 Javaの環境でSL4J、Logbackの設定をした。
いままでLog4jを使用していたのですがLogBack、SL4Jが使い勝手がいいという話をきいたので設定してみました。
最近Log4Jのバージョン2が出てきたということなですがまだα版のようですね。いろいろと機能追加があって使い勝手はよさそうな感じです。
リリース版がでるのが楽しみですね。

必要なファイル

logback
http://logback.qos.ch/setup.html

logback-core-1.0.11.jar
logback-classic-1.0.11.jar
slf4j-api-1.7.5.jar

マニュアルによるとlogback-examples-1.0.11.jarも入っていたのですがおそらくサンプルのために必要な感じだったのではずしました。
クラスパスが通っているところにあればよいです。
Eclipseだとプロジェクトのあるところで右クリックをして
プロパティ→Javaのビルドパス→ライブラリータブのところでJarの追加で上記のjarを追加すればOKです。

設定

Chapter 3: Logback configuration
http://logback.qos.ch/manual/configuration.html

上記を読んで以下のように設定しました。
読み込み間隔を設定できるようなのでscan=”true”というのを設定してみました。

以下のファイルはlogback.groovyに設定しておけばよいようです。
置く場所はclassの直下にあるとよいようです。
srcの下においておけばclassの下に入ります。

<configuration scan="true" scanPeriod="30 minutes">

<property name="USER_HOME" value="ログファイルを出力するディレクトリを指定してください" />

  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>${USER_HOME}/webApp.log</file>

    <encoder>
      <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
    </encoder>
  </appender>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%msg%n</pattern>
    </encoder>
  </appender>

  <define name="rootLevel" class="a.class.implementing.PropertyDefiner">
    <shape>round</shape>
    <color>brown</color>
    <size>24</size>
  </define>


  <root level="debug">
    <appender-ref ref="FILE" />
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

root level=”debug”のところをinfoにするとinfo以上しか出なくなります。

あとは実際に以下のように使えばOKです。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloWorld1 {

  private static Logger logger = LoggerFactory.getLogger(HelloWorld1.class);

  public static void main(String[] args) {

    logger.debug("Hello world.");

  }
}

もう少し使ってみてまた感想等書いてみます。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">