【TomcatでSolrのログをLog4jで出力する】
TomcatでSolrの運用をしてると、放っておくと、全部catalina.outに
ログが出てしまって後からトレースしずらくなります。
少なくともインデクサとそれ以外はログファイルを分けたい。
Solrの WEB-INF/lib の中には slf4jなんちゃらというjarが入っていて、
SLF4J(http://www.slf4j.org/)というライブラリを使っているのが分かります。
何やらLog4Jの次はこいつだ!的な存在らしいのですが、
もう何年も馴染んだlog4j.propertiesで設定したくてしたくてw
サクっといかなくてウジウジしていたら↓このブログを見つけました。
http://globalgateway.wordpress.com/2010/01/06/configuring-solr-1-4-logging-with-log4j-in-tomcat/
ドンピシャ。ありがとう。
でも、Thanks!ってコメントを残そうとしたら、
discardedって画面に遷移されちゃった・・・orz
他にもjarファイルのバージョンによっては↓のようなハマりどころもあるようです。
http://www.slf4j.org/faq.html#IllegalAccessError
ということで、libの中に
slf4j-api-1.5.11.jar、slf4j-log4j12-1.5.11.jar、log4j-1.2.13.jarを突っ込んで、
slf4j-api-1.5.5.jar、slf4j-jdk14-1.5.5.jarを消してあげました。
でもって、WEB-INFのclassesにお馴染みのlog4j.propertiesを置いて完成です。
が、今後、運用とかでSolrのバージョンあげる~とかなったときに、
log4j.properties入れるの忘れたとかありそうで怖いかなぁ。。
技術評論社
売り上げランキング: 4461
検索エンジンに興味のある全ての知識レベルの方にお勧め
コメント
[…] Solrをイジった備忘録その2(TomcatでLog4Jでログ出力) […]
[…] ■ SolrJ依存ライブラリ 以前Tomcat上に構築したSolrのログ出力に関して使うjarファイルをまとめたことがあるのですが、 Solr用のクライアントライブラリであるSolrJにおいてもいろい […]