我正在使用WSO2 APIM 3.2.0和WSO2 IS 5.11.0。
我在目錄中有登錄 ${sys:carbon.home}/repository/logs/
我可以通過添加以下配置來洗掉舊檔案超過 30 天來管理日志增長 ${sys:carbon.home}/repository/conf/log4j2.properties
appender.ERROR_LOGFILE.strategy.action.type = Delete
appender.ERROR_LOGFILE.strategy.action.basepath =
${sys:carbon.home}/repository/logs/
appender.ERROR_LOGFILE.strategy.action.maxdepth = 1
appender.ERROR_LOGFILE.strategy.action.condition.type = IfLastModified
appender.ERROR_LOGFILE.strategy.action.condition.age = 30D
appender.ERROR_LOGFILE.strategy.action.PathConditions.type = IfFileName
appender.ERROR_LOGFILE.strategy.action.PathConditions.glob = wso2-apigw-errors-*
我可以對 wso2carbon、審計日志做同樣的事情,但 log4j2.properties 不支持 http_access 日志。
在 中${sys:carbon.home}/repository/conf/tomcat/catalina-server.xml,AccessLogValve 可以控制 http_access 日志。
我不確定如何使用此 XML 檔案洗掉舊日志。有人可以讓我知道如何做到嗎?
uj5u.com熱心網友回復:
由于您已正確識別 org.apache.catalina.valves.AccessLogValve 用于記錄 http 訪問日志。
如果要洗掉超過 30 天的訪問日志檔案,可以使用此選項https://stackoverflow.com/a/57826692/10055162。
導航到AccessLogValve<IS-HOME>/repository/resources/conf/templates/repository/conf/carbon.xml.j2并將其添加maxDays="30"到 AccessLogValve,如下所示。然后重啟服務器。
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="${carbon.home}/repository/logs"
prefix="http_access_" suffix=".log" pattern="{{http_access_log.pattern}}" maxDays="30" />
由于這些配置添加不是模板化的,因此您無法通過 deployment.toml 進行配置
有關該物業的更多資訊:https : //tomcat.apache.org/tomcat-7.0-doc/config/valve.html
uj5u.com熱心網友回復:
如果您不想處理此類問題,我建議您使用 Apinizer 而不是 Wso2。在 Apinizer 中,所有保留都可以從管理表單中設定,無需任何腳本或語言,對于分析,因為它使用 elasticsearch,所有生命周期管理都可以用生命周期管理表單處理(順便說一句,您不必了解 ES,它可以處理所有型別的ES 操作的形式)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/359089.html
標籤:公猫 wso2 日志4j2 wso2-am wso2is
