2013年6月3日月曜日

JBoss As 7のロギングの設定

ここではJBoss As 7でのロギングの設定方法に関して記載したいと思います。
特に、今回自分で設定をしていて、server.logに対してローテーションしない現象について記載します。
前提条件

  • JBoss As 7.1.1Final
  • Windows XP
  • JBossはインストール済みと前提

JBossに対してのログの設定

JBoss As 7でのロギング処理には、Apacheのlog4jが使われており、log4jの設定内容が反映されます。
 また、JBoss As 7での各種設定内容は、standalone.xmlに集約されており、ロギングの設定もこのstandalone.xmlで行います。
 尚、ロギングでは、以下の様な設定が可能である。
  • ログレベルでのログ操作(DEBUG < INFO < WARN < ERROR < FATAL)
  • logファイル名の変更
  • ログの出力フォーマットの変更
  • ログファイルのローテーション
  • ログの出力先
  1. 「${JBOSS_HOME}\standalone\configuration\standalone.xml」を開き、<profile>以下の
    <subsystem xmlns="urn:jboss:domain:logging:1.1">内に以下を記載します。

    <profile>
        <subsystem xmlns="urn:jboss:domain:logging:1.1">
     <size-rotating-file-handler name="ROTETION_ROOT">
         <formatter>
             <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p %x [%c{1}] (%t) %s%E%n"/>
         </formatter>
         <file relative-to="jboss.server.log.dir" path="xxx_server.log"/>
         <rotate-size value="1K"/>
         <max-backup-index value="3"/>
         <append value="true"/>
     </size-rotating-file-handler>
     <root-logger>
         <level name="INFO"/>
         <handlers>
             <handler name="CONSOLE"/>
             <handler name="ROTETION_ROOT"/>
         </handlers>
     </root-logger>
    

    デフォルトのログ出力ファイル名は「server.log」ですが、この状態でローテーションの設定をしても反映されず、ログが溜まってきました。(原因は調査不足の為不明)
    なので、このファイル名を違うファイル名にするとローテーションの設定が反映されます。

サンプルプログラム

JBossのログ出力はJBossのロガーを使用します。
package test;

import org.jboss.logging.Logger;

public class Test {
 /**
  * ログインスタンス.
  */
 private final Logger logger = Logger.getLogger(this.getClass().getName());
 
 public void test() {
  logger.debug("test");
  logger.info("test");
 }
}

Written By : // 12:04
Category:

0 コメント:

コメントを投稿

 

About

このブログは筆者の備忘録として色々記載しています。

Blog Archive

Powered by Blogger.