- PR -

JSPのエラーログをlog4jで出力する方法

1
投稿者投稿内容
bbholic
常連さん
会議室デビュー日: 2004/02/17
投稿数: 21
投稿日時: 2004-03-10 19:15
log4jでJSPのエラーログを出力する方法

どなたかご存知の方がいらっしゃいましたら教えてください。

Strutsを使用してWebアプリケーションを開発しております。

よろしくお願いします。
masaka
常連さん
会議室デビュー日: 2003/08/04
投稿数: 27
お住まい・勤務地: 東京
投稿日時: 2004-03-10 20:00
こんな感じでいいんじゃないでしょうか?

<%! Log log = LogFactory.getLog( "xxx.yyy.zzz" ); %>
                 ↑JSP名とかでもOK
<% log.info( "ログメッセージ" ); %>

あんまり<% %>タグが現れるのは美しくないですが、これでできるはずです。
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2004-03-11 11:56
Strutsを使われているのでしたら、そもそもJSPでLog4jを使用するシチュエーションが
発生していることに問題がありそうな気がします。あくまでJSPはプレゼンテーションに
特化して、ロジックはActionもしくはそこから呼ばれるEJBなどに押し込めるべきだと
思われますので。

Strutsを使う場合はJSPにScriptletは埋め込まないのが理想ですが、JSP内のロジック
をもう一度見直されることをお勧めしますよ。複雑な表示が必要であれば、適宜
カスタムTaglibを作成し、Log4jへの出力はTagのクラスで行うとか。
bbholic
常連さん
会議室デビュー日: 2004/02/17
投稿数: 21
投稿日時: 2004-03-11 13:44
はい おっしゃるとおりです。

ただ開発時の確認や万が一発生してしまった場合の対処方法を検討しておりました。
>masakaさん
 出力できました。ありがとうございます。

貴重な意見をいただきましてありがとうございます。

あっ、ちなみにJSPエラー用のJSPを作成して画面にエラーメッセージを表示しようと
したのですが文字化けしてしまいました。
<%
exception.printStackTrace(new PrintWriter(out, false));
%>
とこんな感じで書いてます。
PrintWriterはデフォルトでエンコーディングしてしまうようなのですが
変更方法をご存知の方、いらっしゃいましたら是非教えてください。
よろしくお願いします。
1

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