- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 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.log
和 logs/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/
我正在使用 SAF(存储访问框架)将文件写入 SD 卡。在 Marshmallow 上,文件的写入和更新实际上有很大的延迟(大约 10 秒)。 当我使用例如: android.support.v4.p
我不明白的意思 The original Java AWT was implemented by having widgets written in Java which delegated to p
我的 ASP.NET Core 应用程序使用“开箱即用”的外部登录身份验证。我想要实现的 - 在 facebook 挑战中,我想包装重定向 url 并将其作为 json 返回以在 jquery 前端使
我正在尝试安装 MySql Workbench 并下载 mysql-installer-web-community-5.7.13.0.msi。当我运行此文件时出现以下错误: "The instruct
考虑以下代码: #include int main() { int i = 0; printf("hello%n%d\n", &i, i); } 为什么打印hello0而不是hello5?
我是一名 Java/C++ 程序员,Ruby 是我的第一门脚本语言。有时我发现我在某些领域没有尽可能高效地使用它,例如: 目标:仅解析文件中的某些行。我要使用的模式是有一条非常大的线,尺寸大于 15,
尝试执行命令“vagrant up”时收到以下错误: --------------------------- VBoxHeadless.exe - Application Error --------
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 Improve th
我正在创建一个程序,需要从仍在写入的文件中读取。 主要问题是:如果使用在单独线程上运行的 InputStream 和 OutputStream 类执行读取和写入,有什么问题和问题为了防止数据损坏,我需
问题 我有一个 HTML5/JavaScript 应用程序。我想将它提交给苹果商店。 有没有办法将它嵌入到 Safari/Webkit 中,并让 apple 接受它作为应用程序? 上下文 这个项目最初
我正在文件 btree.h 中编写一个 btree 实现类“btree”,并在文件 btree_iterator.h 中使用外部迭代器类“btree_iterator”在 btree.tem 中实现,
我正在使用 Python 3.4 将 unicode 字符串写入文件。文件写入后,打开一看,完全是另外一组字符。 代码:- # -*- coding: utf-8 -*- with open('tes
我们编写的应用程序在 XP 中运行良好,但在迁移到 Vista 和 Windows 7 时遇到了严重的问题,这可能是由于用户数据的写入位置。 用例是这样的:个人用户需要登录机器并使用它来获取数据。主管
假设我有一个名为“REVIEWS”的表 此表包含客户为各种产品撰写的评论。 我希望能够对每个客户撰写的所有评论进行“计数”,所以我写: SELECT count(*) AS counter FROM
我正在使用一个应用程序创建一个 csv 文件,然后我想导出并在手机上阅读。但是,我将其保存到的位置不可见,并且难以传输。 有没有办法将其保存到更容易访问的位置,例如电话上的/documents ? (
我写了一个小工具,用于将给定目录下的所有目录和文件名打印到文件中。程序编译正常,但运行程序后,文件未写入。这对我来说看起来很奇怪。程序代码如下所示。 在代码的第49行,当我仅使用file作为方法的参数
所以我在 c 中有以下枚举方法: enum enum_type GetInfo (int socket, unsigned char *data) { } 在 api 中我可以找到这个: 接收到的数据
我不明白下面的 C 转换函数是如何工作的(以及为什么要这样写);我相当确定原作者知道他在做什么: typedef union TValue { uint64_t u64; double n;
这个问题已经有答案了: Node.js - Find home directory in platform agnostic way (6 个回答) 已关闭 3 年前。 我正在使用fs文件系统 JS
我正在构建一个 rest api,它从其他 api 收集数据,用它做一些逻辑并发送回客户端: 我的主课: public class Main { public static void main(Str
我是一名优秀的程序员,十分优秀!