tomcat - Log4j2:如何将日志写入WEB-INF 内的文件夹?

标签 tomcat logging web-applications log4j2 web-inf

我正在使用 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/

相关文章:

php - Laravel 用于开发和生产的 5 种不同的日志级别

javascript - 用多个提交按钮识别点击提交按钮的值

agile - 有没有可以制作用户故事卡的网络应用程序?

linux - 太多打开的文件引发 IOException

tomcat - Groovy Redis 插件超时问题

java - 特殊调试线(java)

java - 实现服务器和客户端

database - 将现有数据库模式添加到 JasperServer 安装

java - tomcat-users.xml 无法在 UBUNTU 中打开

windows - 从批处理文件中仅在日志文件中输出某些结果