- PR -

log4jについての質問

1
投稿者投稿内容
タマ
ベテラン
会議室デビュー日: 2004/08/08
投稿数: 56
投稿日時: 2004-08-11 22:25
<1>
log4jを使用しようと思いあるHPから以下のようなサンプルを手に入れたのですが、
あるフォルダ以下でエラーが起こった場合このファイルに書き込むといったことができるので
しょうか?

ex.フォルダ構成
soft1以下で起こったエラーをひとつのファイルに書き込みたい。
 (クラス名を一つずつ指定せずにフォルダ単位で指定したい。)
soft1----file1
----file2
----file3
----file4


<2>
SQLExceptionによるエラーの場合はSQLもログファイルに書き込みたい。

もしご存知の方いらしたら教えていただけないでしょうか。
宜しくお願いいたします。
==========================================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

<!--テキストにログを出力するConsoleAppenderをSTDOUTとして定義 -->
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender" >

<!-- デフォルトのログレベル -->
<param name="threshold" value="WARN"/>

<!-- ログの出力形式を指定 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d %-5p [%t] (%F:%L) - %m%n"/>
</layout>
</appender>

<!--決められた期間でログを別ファイルに切り替えて書き込む
DailyRollingFileAppenderをDAILYとして定義 -->
<appender name="DAILY"
class="org.apache.log4j.DailyRollingFileAppender">
<!-- ログのファイル名 -->
<param name="file" value="daily-log" />

<!-- デフォルトのログレベル -->
<param name="threshold" value="INFO"/>

<!-- 日付が変わる瞬間daily-log-2002-06-23のような形式で
現在のログがリネーム -->

<!-- すでにログが存在する場合、ファイルにログを追加 -->
<param name="append" value="true" />

<!-- ログの出力形式を指定 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="'%c', '%p', '%d', '%m'%n" />
</layout>

</appender>

<!-- パッケージmypkgに対してコンソールにinfo以上のログを出力 -->
<category name="osbook.log2">
<priority value="info" />
<appender-ref ref="STDOUT"/>
</category>

<!-- DAILYアペンダに対してossbook.log2.MyClass2をdebugに設定 -->
<category name="osbook.log2.MyClass2">
<priority value="debug" />
<appender-ref ref="DAILY" />
</category>

<!-- すべてのログをinfo -->
<root>
<appender-ref ref="STDOUT" />
<appender-ref ref="DAILY" />
</root>

</log4j:configuration>
==========================================================================
nori
常連さん
会議室デビュー日: 2003/12/16
投稿数: 34
お住まい・勤務地: 新幹線線路の隣
投稿日時: 2004-08-12 08:44
こんにちは。

「できるのでしょうか?」という質問なので、「できますよ」という回答で
いいでしょうか?

<1>
 フォルダ単位というのはやったことがないのですが、
 パッケージ単位でログ出力はできます。

<2>
 実行するSQL文を書き出せばいいだけなので、できますよ。

引用:

未記入さんの書き込み (2004-08-11 22:25) より:
<1>
log4jを使用しようと思いあるHPから以下のようなサンプルを手に入れたのですが、
あるフォルダ以下でエラーが起こった場合このファイルに書き込むといったことができるので
しょうか?

ex.フォルダ構成
soft1以下で起こったエラーをひとつのファイルに書き込みたい。
 (クラス名を一つずつ指定せずにフォルダ単位で指定したい。)
soft1----file1
----file2
----file3
----file4


<2>
SQLExceptionによるエラーの場合はSQLもログファイルに書き込みたい。

もしご存知の方いらしたら教えていただけないでしょうか。
宜しくお願いいたします。


タマ
ベテラン
会議室デビュー日: 2004/08/08
投稿数: 56
投稿日時: 2004-08-13 00:28
お返事ありがとうございます。

できれば質問1,2を実現するのに
サンプルのXMLをどのように変更したらよいか教えていただけないでしょうか。

よろしくお願いいたします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-08-13 01:42
SQL生成するところにすべてデバッグ用のログ出力コードを書くのは大変面倒です。
P6Spy ってのを使うとコードに手を加えずにSQLをログに出力できますよ。PreparedStatementでどんな値をバインドしたかも記録されるので大変便利です。
http://www.p6spy.com/
タマ
ベテラン
会議室デビュー日: 2004/08/08
投稿数: 56
投稿日時: 2004-08-13 14:23
インギさんお返事有難うございます。
P6Spy の件有難うございました。

どなたか以下の件教えていただけないでしょうか。
<1>
log4jを使用しようと思いあるHPから以下のようなサンプルを手に入れたのですが、
あるフォルダ以下でエラーが起こった場合このファイルに書き込むと方法を教えていただけないでしょうか。

ex.フォルダ構成
soft1以下で起こったエラーをひとつのファイルに書き込みたい。
 (クラス名を一つずつ指定せずにフォルダ単位で指定したい。)
soft1----file1
----file2
----file3
----file4
あいつー
ベテラン
会議室デビュー日: 2004/05/20
投稿数: 89
投稿日時: 2004-08-13 15:53
引用:

どなたか以下の件教えていただけないでしょうか。
<1>
log4jを使用しようと思いあるHPから以下のようなサンプルを手に入れたのですが、
あるフォルダ以下でエラーが起こった場合このファイルに書き込むと方法を教えていただけないでしょうか。

ex.フォルダ構成
soft1以下で起こったエラーをひとつのファイルに書き込みたい。
 (クラス名を一つずつ指定せずにフォルダ単位で指定したい。)
soft1----file1
----file2
----file3
----file4


file1〜file4というのはクラス??ログファイル??なのかが良く分りませんが、
noriさんの仰る通りパッケージ毎であればCategoryを設定し、
それぞれ指定したファイルに書き込めますよ。
エラーが起こった場合、というのはLEVELがERRORという表現でよいのではないでしょうか。
どこをどう直せば良いか、というのはご自分でお調べください。
1

スキルアップ/キャリアアップ(JOB@IT)