正在删除旧的http_access日志-WSO2 APIM 3.2.0和WSO2 IS 5.11.0



我正在使用WSO2 APIM 3.2.0WSO2 IS 5.11.0

我在目录${sys:carbon.home}/repository/logs/中有日志

我可以通过在${sys:carbon.home}/repository/conf/log4j2.properties中添加以下配置,删除30天以上的旧文件来管理日志增长

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文件删除较旧的日志。有人能告诉我怎么做吗?

由于您已正确识别org.apache.catalina.valves.AccessLogValve用于记录http访问日志。

如果要删除超过30天的访问日志文件,可以使用此选项https://stackoverflow.com/a/57826692/10055162.

导航到<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

WSO2 Identity Server 5.11.0能够从log4j.properties文件本身配置HTTP访问日志。虽然文档中还没有提供,但您必须按照以下说明进行配置。

将以下行添加到deployment.toml文件

[http_access_log]
useLogger = true

这将启用从log4j2.properties文件控制访问日志的功能。按照以下说明更改log4j2.properties文件中的配置。

  1. 将HTTP_;appenders";

    appenders = CARBON_CONSOLE, CARBON_LOGFILE, AUDIT_LOGFILE, ATOMIKOS_LOGFILE, CARBON_TRACE_LOGFILE, DELETE_EVENT_LOGFILE, TRANSACTION_LOGFILE, osgi, HTTP_ACCESS

  2. 将HTTP_ ACCESS添加到现有的"HTTP_;记录器";

    loggers = HTTP_ACCESS, AUDIT_LOG, trace-messages, org-apache-coyote, com-hazelcast, Owasp-CsrfGuard, org-apache-axis2-wsdl-codegen-writer-PrettyPrinter, org-apache-axis2-clustering, org-apache-catalina, org-apache-tomcat, org-wso2-carbon-apacheds, org-apache-directory-server-ldap, org-apache-directory-server-core-event, com-atomikos, org-quartz, org-apache-jackrabbit-webdav, org-apache-juddi, org-apache-commons-digester-Digester, org-apache-jasper-compiler-TldLocationsCache, org-apache-qpid, org-apache-qpid-server-Main, qpid-message, qpid-message-broker-listening, org-apache-tiles, org-apache-commons-httpclient, org-apache-solr, me-prettyprint-cassandra-hector-TimingLogger, org-apache-axis-enterprise, org-apache-directory-shared-ldap, org-apache-directory-server-ldap-handlers, org-apache-directory-shared-ldap-entry-DefaultServerAttribute, org-apache-directory-server-core-DefaultDirectoryService, org-apache-directory-shared-ldap-ldif-LdifReader, org-apache-directory-server-ldap-LdapProtocolHandler, org-apache-directory-server-core, org-apache-directory-server-ldap-LdapSession, DataNucleus, Datastore, Datastore-Schema, JPOX-Datastore, JPOX-Plugin, JPOX-MetaData, JPOX-Query, JPOX-General, JPOX-Enhancer, org-apache-hadoop-hive, hive, ExecMapper, ExecReducer, net-sf-ehcache, axis2Deployment, equinox, tomcat2, StAXDialectDetector, org-apache-directory-api, org-apache-directory-api-ldap-model-entry, TRANSACTION_LOGGER, DELETE_EVENT_LOGGER, org-springframework, org-opensaml-xml-security-credential-criteria, org-wso2-carbon-user-core, org-wso2-carbon-identity, org-wso2-carbon-identity-sso-saml

  3. 添加新添加的记录器和appender的配置(您可以根据需要更改值(。

    logger.HTTP_ACCESS.level = INFO
    logger.HTTP_ACCESS.appenderRef.HTTP_ACCESS.ref = HTTP_ACCESS
    logger.HTTP_ACCESS.additivity = false
    # Appender for HTTP Access Log
    appender.HTTP_ACCESS.type = RollingFile
    appender.HTTP_ACCESS.name = HTTP_ACCESS
    appender.HTTP_ACCESS.fileName =${sys:carbon.home}/repository/logs/http_access.log
    appender.HTTP_ACCESS.filePattern =${sys:carbon.home}/repository/logs/http_access-%d{MM-dd-yyyy}.log
    appender.HTTP_ACCESS.layout.type = PatternLayout
    appender.HTTP_ACCESS.layout.pattern = [%X{Correlation-ID}] %mm%n
    appender.HTTP_ACCESS.policies.type = Policies
    appender.HTTP_ACCESS.policies.time.type = TimeBasedTriggeringPolicy
    appender.HTTP_ACCESS.policies.time.interval = 1
    appender.HTTP_ACCESS.policies.time.modulate = true
    appender.HTTP_ACCESS.policies.size.type = SizeBasedTriggeringPolicy
    appender.HTTP_ACCESS.policies.size.size=10MB
    appender.HTTP_ACCESS.strategy.type = DefaultRolloverStrategy
    appender.HTTP_ACCESS.strategy.max = 20
    appender.HTTP_ACCESS.filter.threshold.type = ThresholdFilter
    appender.HTTP_ACCESS.filter.threshold.level = INFO
    

您可以参考为将功能添加到文档中而创建的文档票证。

最新更新