我尝试使用logger将事件发送到Tomcat中的本地syslog服务器。
在Apache中,您可以执行以下操作:
LogFormat "%h %A %l %u %t \"%r\" %>s %p %b" Events
CustomLog “|/usr/bin/logger -t httpd -p local6.info” Events
但是,我试图在Tomcat中使用AccessLogValve," pattern"被解释为一个字符串。
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt" rotatable="false" resolveHosts="false" pattern="%h %l %u %t "%r" %s %b" />
无论如何在不使用log4j或logback的情况下将访问日志发送到syslog服务器?我们需要将此配置部署到Prod主机。已经部署了针对Apache的Logger for prod。我们更愿意使用记录器,因为这不需要更改我们的prod应用程序。
答案 0 :(得分:0)
简短回答:不,你暂时不能。
对于访问日志文件,Tomcat不使用任何日志记录框架,只能登录到文件。
唯一的解决方案是扩展AccessLogValve
以自行完成。
但是有一个pull request,如果被接受,应该允许任何人更容易地做到这一点。 (编辑:它实际上已经在tomcat-trunk中了,所以我相信tomcat8可用)
答案 1 :(得分:0)