我正在使用 Tomcat。我想在 Web 应用程序的 WEB-INF
文件夹中写入一些 Log4j2 日志。例如:
<RollingRandomAccessFile name="MyLog" fileName="${????}/logs/MyLog.log">
我该怎么做?
最佳答案
这是一个坏主意,并且由于以下(不完整的)原因不能保证有效:
- 您的应用程序服务器甚至可能不会解压缩 WAR 文件,因此您没有可写入的文件系统:应用程序可以轻松地从 WAR 文件运行。
- 如果您有一个实际的文件系统支持的应用程序:应用程序的下一次部署将删除您的日志文件
- 出于安全原因,不让 Web 应用程序能够 self 覆盖是一个很好的论据 - 当然,您只能使单个日志目录可写,但恕我直言,这不是一个好策略(并且权限可以很容易地更改为下一次部署)
而是为您的应用程序服务器分配一个特定的日志目录并将其用于输出。您可以在一个众所周知的地方配置日志轮换等,而不是在可能遵循这种配置风格的所有 Web 应用程序中配置。
关于tomcat - Log4j2:如何将日志写入WEB-INF 内的文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44935278/