2012-02-20 5 views
1

Solrへのログインに問題があります。標準出力(私はglassfish server.logを意味します)にすべてを書き込まないようにします。私はそれがlog4jを使用し、そのメッセージを別のファイルに書きたいと思っています。私はlog4j.xmlファイルを作成しましたが、それを.warファイルに追加できるかどうかはわかりません。私は外部log4j.xmlファイルを試して、JVMオプション-Dlog4j.configuration = file:/ {path_to_file}を設定していましたが、部分的にしか動作しませんでした。私はglassfishにインストールされた他のアプリケーションをいくつか持っていて、それらのすべてがこのファイルに書き出し始めました。どんな助けもありがたい。WARファイルへのlog4j.propertiesの追加(Solrアプリケーションの場合)

答えて

2

Solrのslf4jもlog4jに切り替える必要があります。 私が見る限り、戦争にパッチを当てなければなりません。

あなたはantを使用している場合は、このスニペットは、おそらくそれをパッチ適用であなたを助けることができる:

<project name="solr-war-patching" default="patch" basedir="."> 

    <target name="patch" description="Patches solr war file"> 
     <unjar src="solr.war" dest="solr.war.folder"/> 
     <delete file="solr.war.folder/WEB-INF/lib/slf4j-jdk14-1.6.1.jar" /> 
     <delete file="solr.war.folder/WEB-INF/lib/log4j-over-slf4j-1.6.1.jar" /> 
     <copy file="slf4j-log4j12-1.6.1.jar" todir="solr.war.folder/WEB-INF/lib" /> 
     <copy file="log4j-1.2.16.jar" todir="solr.war.folder/WEB-INF/lib" /> 
     <jar destfile="solr_patched.war"> 
      <fileset dir="solr.war.folder" includes="**/**.*" /> 
     </jar> 
    </target> 

</project> 

あなたはスクリプトを呼び出すフォルダ内のsl4j APIのそれぞれのjarファイルを持っている必要があります...

log4j.xmlは、戦争の外にそれぞれのアプリコンテナフォルダ内に配置することができます。