Tomcat:使用 Logger 将访问日志发送到 Syslog

标签 tomcat logging access-log

我正在尝试使用记录器将事件发送到 Tomcat 中的本地系统日志服务器。

在 Apache 中,您可以执行以下操作:

LogFormat "%h %A %l %u %t \"%r\" %>s %p %b" Events

CustomLog “|/usr/bin/logger -t httpd -p local6.info” Events

但是,我试图在 Tomcat 中使用 AccessLogValve,“模式”中的任何内容都被解释为字符串。

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" rotatable="false" resolveHosts="false" pattern="%h %l %u %t &quot;%r&quot; %s %b" />

有没有办法在不使用 log4j 或 logback 的情况下将访问日志发送到 syslog 服务器?我们需要将此配置部署到 Prod 主机。 Apache 的 Logger 已部署到 prod。我们更愿意使用记录器,因为这不需要更改我们的产品应用程序。

最佳答案

简短的回答:是的。

有个类似的问答: Tomcat access logging through log4j?

由于 log4j 内置了对 syslog 的支持,所以它可以做你想做的事。

关于Tomcat:使用 Logger 将访问日志发送到 Syslog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24288122/

相关文章:

iOS iPhone 寻求将带时间戳的整数快速记录到数据文件实现

apache - Apache 访问日志中的 %D 字段 - 第一个字节还是最后一个字节?

http - 如何在 nginx 中禁用日志记录图像但仍然允许获取请求?

eclipse - eclipse juno 和 tomcat 是否兼容

java - 特定资源路径的 Tomcat 域重定向

java - Log4j2 和 Maven - 选择错误的配置文件

python - 在Python中的logging.conf中设置日志记录级别

apache - access_log 很大,没有被归档。如何重置?

java - 如何创建仅传递请求路径的规则 - urlrewritefilter

apache - Tomcat 中的流水线 - 并行?