13 Replies Latest reply: Jan 31, 2012 9:11 PM by Takayoshi Kimura RSS

6.1.0.FinalのLogの設定について

森田 光一 Newbie

Logの設定についての質問です。

 

6.1.0.Finalを使用しているのですがLog4jのappenderの使いかたがわかりません。

 

ちなみにJDBCAppenderを使用したいと考えています。

 

ご指導のほどよろしくお願いします。

  • 1. Re: 6.1.0.FinalのLogの設定について
    Takayoshi Kimura Novice

    グーグルしたところこちらに設定例があったのでとりあえずこれをベースに設定すれば良いと思います。

     

    http://wiki.apache.org/logging-log4j/JDBCAppenderConfiguration

    http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/jdbc/JDBCAppender.html

     

    注意書きにもありますが、JDBCAppenderは例外を記録することは出来ないようです。

  • 2. Re: 6.1.0.FinalのLogの設定について
    森田 光一 Newbie

    早速の返信ありがとうございます。

     

    Log4jの設定は、わかっているのですが、jboss-logging.xmlへの書き方がよくわからないんです。

     

    ちなみに別のLog4jで行っている設定内容は下記のようにしています。、

     

         <appender name="jdbc" class="org.apache.log4j.jdbc.JDBCAppender">

                    <param name="URL" value="jdbc:mysql://XXXXXXXXX" />

                    <param name="user" value="ユーザ名" />

                    <param name="password" value="パスワード" />

                    <layout class="org.apache.log4j.PatternLayout">

                            <param name="ConversionPattern" value="INSERT INTO LOG VALUES ('%d{yyyy/MM/dd HH:mm:ss,SSS}', '%p', '%C', '%m')" />

                    </layout>

                    <param name="Threshold" value="INFO" />

            </appender>

     

    jboss-logging.xmlでのLog4jのappenderの指定方法を教えていただけませんか。

  • 3. Re: 6.1.0.FinalのLogの設定について
    Takayoshi Kimura Novice

    jboss-logging.xmlのコメントにLog4jのアペンダの定義例がいくつかあるのでそれを真似れば良いと思いますが、具体的にどの点がわからないのでしょうか?

  • 4. Re: 6.1.0.FinalのLogの設定について
    森田 光一 Newbie

    返信ありがとうございます。

    Log4jのアペンダの定義例に合わせてJDBCのアペンダを追加したら、「oracle.jdbc.driver.OracleDriver」にたいして「ClassNotFoundException」が出てしまいました。

    現在は、oracleを使用していて、ojdbc14.jarを「jboss-6.1.0.Final/server/default/lib/」にいれているのですが場所が間違っているのでしょうか?

    それとも「jboss-service.xml」を編集しなければならないのでしょうか?

  • 5. Re: 6.1.0.FinalのLogの設定について
    Takayoshi Kimura Novice

    恐らく jboss-6.1.0.Final/lib/jboss-logging.jar が ojdbc14.jar をロードできないと動かないと思うので、同列の場所、つまり jboss-6.1.0.Final/lib/ に格納すると良いと思います。

     

  • 6. Re: 6.1.0.FinalのLogの設定について
    森田 光一 Newbie

    返信ありがとうございます。

     

    jboss-6.1.0.Final/lib/にいれてみましたが無理でした。

     

    他に可能性としてはなにかありますか?

     

    聞いてばっかりで申し訳ありません。

  • 7. Re: 6.1.0.FinalのLogの設定について
    Takayoshi Kimura Novice

    そうですね、とりあえずログを見た方が良いかなぁと思うのでlog/boot.logとlog/server.logファイルをzip圧縮して添付してみてください。

     

    ファイルの添付はReplyリンクを押して、出てきた返信フォームの右上の"Use advanced editor"をクリックするとファイル添付ができるようになっています。

  • 8. Re: 6.1.0.FinalのLogの設定について
    森田 光一 Newbie

    よろしくお願いします。

  • 9. Re: 6.1.0.FinalのLogの設定について
    Takayoshi Kimura Novice

    なるほど、log4j.jarがClass.forName()を呼び出しているようです。log4j.jarはcommon/libにあるので、common/libに置いたらどうでしょうか。

  • 10. Re: 6.1.0.FinalのLogの設定について
    森田 光一 Newbie

    すいません。

     

    そう思って私も試したのですがダメでした。

  • 11. Re: 6.1.0.FinalのLogの設定について
    Takayoshi Kimura Novice

    こちらで以下のように設定してみましたが特になにごともなく正常に動作しました。postgresql-9.1-901.jdbc4.jarはcommon/libに置きました。

       <log4j-appender name="JDBC" class="org.apache.log4j.jdbc.JDBCAppender">

          <properties>

             <property name="driver">org.postgresql.Driver</property>

             <property name="URL">jdbc:postgresql://localhost/test</property>

             <property name="user">test</property>

             <property name="password">test</property>

             <property name="sql">insert into FOO values('%m')</property>

          </properties>

       </log4j-appender>

    同じような設定で動作しないということはないはずなので、JDBCドライバのjarファイルが壊れているなど、なんらかの環境的な問題だと思います。一度環境を作り直して試してみる、というのも良いかもしれません。

  • 12. Re: 6.1.0.FinalのLogの設定について
    森田 光一 Newbie

    わざわざ試して頂ありがとうございます。

     

    jboss-logging.xmlを同じように書き、環境を再構築し、ドライバもダウンロードし直しましたがだめでした。

     

    ちなみにoracle、mysqlでも試しましたが無理でした。

  • 13. Re: 6.1.0.FinalのLogの設定について
    Takayoshi Kimura Novice

    とりあえずはもう一人誰か他の人に試してもらう、というのが良い切り分けになると思います。森田さんの近くで実際に動く環境ができれば動く環境や手順、動かない環境や手順を比較して原因をつきとめるアプローチがとれます。

     

    手順として私が行ったのはDBを用意、JDBCドライバ配置、jboss-logging.xmlの編集のみです。