WSO2 APIM 3.2.0与IS 5.11.0如何清理旧http_access日志
WSO2 http_access日志自动清理配置方案
适用版本
- WSO2 APIM 3.2.0
- WSO2 IS 5.11.0
配置方法
你提到的http_access日志由Tomcat内置的AccessLogValve组件控制,该组件从Tomcat 8.5版本开始已经原生支持过期日志自动清理,你使用的两个WSO2版本内置的Tomcat均满足版本要求,直接修改${sys:carbon.home}/repository/conf/tomcat/catalina-server.xml中的对应配置即可:
- 打开配置文件,找到如下格式的
AccessLogValve配置段:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="${carbon.home}/repository/logs" prefix="http_access_" suffix=".log" pattern="%h %l %u %t "%r" %s %b %T "%{Referer}i" "%{User-Agent}i"" />
- 新增
maxDays和renameOnRotate两个参数,比如要保留30天日志,修改后配置如下:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="${carbon.home}/repository/logs" prefix="http_access_" suffix=".log" pattern="%h %l %u %t "%r" %s %b %T "%{Referer}i" "%{User-Agent}i"" maxDays="30" renameOnRotate="true" />
生效方式
修改配置后重启WSO2服务即可生效,后续每天生成新的access日志时,组件会自动扫描日志目录,删除超过保留天数的历史http_access日志,不会误删其他类型的服务日志。
内容的提问来源于stack exchange,提问作者nivedhav
相关产品推荐
相关产品推荐

