gpt4 book ai didi

java - JASIG CAS : How do I change where log files are written to?

转载 作者:行者123 更新时间:2023-11-28 21:54:14 24 4
gpt4 key购买 nike

对 Java 知之甚少,更不用说 JASIG CAS 了。

我们正尝试在我们的 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 的符号链接(symbolic link)。

我想知道如何重新配置​​ CAS 以将这 2 个日志文件写入不同的目录 /usr/share/tomcat6/logs)?

最佳答案

假设您有最新版本的 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.loglogs/perfStats.log

请注意,CAS 仅在启动时读取 log4j 配置,因此一旦您进行了更改,您必须取消部署并重新部署 CAS 或反弹 Tomcat 才能使其生效。

关于java - JASIG CAS : How do I change where log files are written to?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9491459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com