2

JASIG CAS は言うまでもなく、私は Java についてほとんど知りません。

CentOS 6 サーバーに CAS を実装しようとしています。次のエラーが発生しています。

java.io.FileNotFoundException: cas.log (Permission denied)
[...snip...]
java.io.FileNotFoundException: perfStats.log (Permission denied)

調査の結果、tomcat6ホーム ディレクトリ ( ) にログ ファイルを書き込もうとしているようです/usr/share/tomcat6/。これを特定できたchown tomcat: /usr/share/tomcat6後、再起動後、そのディレクトリにログ ファイルが作成されました。

ただし、他のすべてのログ/usr/share/tomcat6/logsは、へのシンボリックリンクに書き込まれ/var/log/tomcat6ます。

これら 2 つのログ ファイルを別のディレクトリに書き込むように CAS を再構成する方法を知りたいです/usr/share/tomcat6/logs)。

4

1 に答える 1

13

CAS の最新バージョンを使用していると仮定すると、ログに log4j が使用され、log4j の構成は次の場所にあります。

$CATALINA_BASE/webapps/cas-server-webapp-VERSION/WEB-INF/classes/log4j.xml

CentOS での標準的な Tomcat インストールの場合$CATALINA_BASE/usr/share/tomcat.

log4j 構成が変更されていない場合は、ファイルの先頭近くに "cas" という名前のアペンダーがあり、cas.log. 次のようになります。

<appender name="cas" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="cas.log" />
    <param name="MaxFileSize" value="512KB" />
    <param name="MaxBackupIndex" value="3" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d %p [%c] - %m%n"/>
    </layout>
</appender>

さらに下には、ファイルを作成する「fileAppender」という名前の別のアペンダーがありperfStats.logます。

<appender name="fileAppender" class="org.apache.log4j.FileAppender">
    <param name="File" value="perfStats.log"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%m%n"/>
    </layout>
</appender>

パラメータの値が、Fileディレクトリが指定されていない単なるファイル名であることがわかりますか? したがって、ログ ファイルは $CATALINA_BASE ディレクトリに作成されます。必要なTomcatログディレクトリにそれらを取得するには、値をlogs/cas.logとに変更するだけlogs/perfStats.logです.

CAS は起動時に log4j 構成のみを読み取ることに注意してください。変更を行ったら、CAS をアンデプロイして再デプロイするか、Tomcat をバウンスして有効にする必要があります。

于 2012-03-01T06:17:00.153 に答える