JASIG CAS: Как мне изменить место записи файлов журнала? - PullRequest
2 голосов
/ 29 февраля 2012

Я знаю очень немного о Java, не говоря уже о JASIG CAS.

Мы пытаемся внедрить CAS на нашем сервере CentOS 6.Мы получаем следующие ошибки:

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.

Я хочу знать, как мне перенастроить CAS для записи этих 2 файлов журнала в другой каталог /usr/share/tomcat6/logs)?

1 Ответ

13 голосов
/ 01 марта 2012

Если у вас есть последняя версия CAS, она использует log4j для ведения журнала, и вы можете найти конфигурацию log4j в

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

Для стандартной установки Tomcat под CentOS, $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, чтобы он вступил в силу.

...