- 締切済み
log4jに関する基本的な事柄(Logger・Categoryの違い、設定ファイルの再読込みなど)
log4jに関しておさらいをしていてはっきりと把握していないことがいくつかあります。 (1)設定のLoggerとCategoryの違い(同じもの?) (2)設定ファイルの再読込みタイミング (Tomcatを再起動しなくてもよかった気がするが再読込みタイミングがわからない) (3)以下の記述は結果はまったく同じ? Log log = log = LogFactory.getLog(getClass()); Log log = log = LogFactory.getLog(getClass().getName()); しっかりと勉強していればすぐにわかるレベルのことだと思いますが ネットでなんとなく独学で勉強していたので穴だらけです… 少し恥ずかしいのですが、上記の疑問について解説お願いします。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- askaaska
- ベストアンサー率35% (1455/4149)
loggerは使われないわよ。 今メインのlog4j1.2系では。 1.3以降はまず使われないわ。 理由はlog4jのサイトで見てね。 http://logging.apache.org/log4j/index.html
- askaaska
- ベストアンサー率35% (1455/4149)
> もし違うのであれば何がどう違うのか具体的に教えてください 調べればすぐわかるのに・・・。 log4j1.3より前は<category>を使え。 log4j1.3以降は<logger>を使え。 <category>は廃止されるわ。 これでいいかしら? log4jのバージョンによって使い分けるの。 > アプリケーション再起動 サーバは設定ファイルが変更されたときに それを自動的に再読込み「することがあるわ」。 チェックしているのは更新日付のようね。 ただし、このときすごくサーバが「不安定」になるの。 再起動せずに反映されてもそれはサーバ管理者としては ちょっといただけない現象よ。 具体的に言うと、log4jが利用されているときに再読込みが行われると ログ出力がどうなるのか予想もつかないわ。 あと何故か判らないけど、ときどき再読込みがされないことがあるわ。 タイミング的なものなのか、不明だけど。 これはxmlに限らずJSPのときにも発生するわね。 もしかしたらTomcatの不具合なのかもしれないわ。 一番確実なのは、変更を監視して再読込みさせる仕組みを用意することね。
お礼
ありがとうございました。
補足
1の回答 ・使える属性や要素が異なる ・loggerはまず使われない 2の回答 ・バージョンによって使い分ける 「loggerはまず使われない」は間違いということですか? 「使える属性や要素が異なる」も間違いですか? 表記するときの文字列が異なるだけで、機能や出力結果はまったく一緒だということなのでしょうか?
- askaaska
- ベストアンサー率35% (1455/4149)
設定ってlog.xmlのことよね? (1)似て非なるものよ。 使える属性や要素が異なるわ。 そもそもとして<logger>は、まず使われないわね。 マニュアルからはずされる程度には。 (2)アプリケーション単位ならアプリケーションの再起動だけでOKよ。 (3)log4jでいうなら同じよ。
お礼
ありがとうございました。
補足
>似て非なるものよ。 >使える属性や要素が異なるわ。 もし違うのであれば何がどう違うのか具体的に教えてください。 どう使い分けるのか、機能は違うのか、得られる結果が変わるのかなど。 >アプリケーションの再起動だけでOKよ。 そういう意味ではそうだと思いますが、そうではなくて アプリケーションを起動しっぱなしでの設定ファイルの再読み込みです。 いくつかのプロジェクトで再起動無しで再読み込みをしてくれた記憶があります。 勝手にやってはくれないんですかね?特別な仕組みが必要なのでしょうか? よろしくお願いします。
お礼
ありがとうございました。
補足
ここでの質問では結局わからなかったのでできる人に聞いたら 同じものだという回答を得ました。