我正在使用WSO2 APIM 3.2.0
和WSO2 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
文件中的配置。
将HTTP_;appenders";
appenders = CARBON_CONSOLE, CARBON_LOGFILE, AUDIT_LOGFILE, ATOMIKOS_LOGFILE, CARBON_TRACE_LOGFILE, DELETE_EVENT_LOGFILE, TRANSACTION_LOGFILE, osgi, HTTP_ACCESS
将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
添加新添加的记录器和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
您可以参考为将功能添加到文档中而创建的文档票证。