Astro企业应用 AstroPro
Astro企业应用 AstroPro
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 开发指南
- 视频帮助
- 文档下载
- 通用参考
本文导读
展开导读
链接复制成功!
日志输出格式配置示例
devspore-http-log推荐直接输出纯json格式的日志,方便对日志进行解析聚合统计分析。
具体log4j2.xml配置可参考以下配置:
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <contextName>ordering</contextName> <Properties> <Property name="component">ordering</Property> <Property name="HTTP_LOG_ACCESS_PATH">/opt/cloud/logs/${component}/http/access</Property> <Property name="HTTP_LOG_REQUEST_PATH">/opt/cloud/logs/${component}/http/request</Property> <Property name="HTTP_LOG_METHODLOG_PATH">/opt/cloud/logs/${component}/http/method</Property> <Property name="HTTP_LOG_PATTERN" value="%msg%n" /> <Property name="ACCESS_FILE_NAME" value="${component}-access"/> <Property name="REQUEST_FILE_NAME" value="${component}-request"/> <Property name="METHOD_FILE_NAME" value="${component}-method"/> <Property name="LOG_PATTERN" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%thread] [%logger{15}] - [%msg]%n"/> </Properties> <Appenders> <!-- Console output --> <Console name="STDOUT" target="SYSTEM_OUT"> <PatternLayout pattern="${LOG_PATTERN}"/> </Console> <!--- access log --> <RollingFile name="ROLLING_HTTP_LOG_ACCCESS_FILE"> <FileName>${HTTP_LOG_ACCESS_PATH}/${ACCESS_FILE_NAME}.log</FileName> <FilePattern>${HTTP_LOG_ACCESS_PATH}/${ACCESS_FILE_NAME}-%d{yyyy-MM-dd}.%i.zip</FilePattern> <PatternLayout pattern="${HTTP_LOG_PATTERN}"/> <Policies> <SizeBasedTriggeringPolicy size="100MB" /> </Policies> <DefaultRolloverStrategy max="100"> <Delete basePath="${HTTP_LOG_ACCESS_PATH}" maxDepth="2"> <IfFileName glob="*${ACCESS_FILE_NAME}-*.zip"> <IfLastModified age="7d"> <IfAny> <IfAccumulatedFileSize exceeds="100MB" /> <IfAccumulatedFileCount exceeds="100" /> </IfAny> </IfLastModified> </IfFileName> </Delete> </DefaultRolloverStrategy> </RollingFile> <!--- request log --> <RollingFile name="ROLLING_HTTP_LOG_REQUEST_FILE"> <FileName>${HTTP_LOG_REQUEST_PATH}/${REQUEST_FILE_NAME}.log</FileName> <FilePattern>${HTTP_LOG_REQUEST_PATH}/${REQUEST_FILE_NAME}-%d{yyyy-MM-dd}.%i.zip</FilePattern> <PatternLayout pattern="${HTTP_LOG_PATTERN}"/> <Policies> <SizeBasedTriggeringPolicy size="100MB" /> </Policies> <DefaultRolloverStrategy max="100"> <Delete basePath="${HTTP_LOG_REQUEST_PATH}" maxDepth="2"> <IfFileName glob="*${REQUEST_FILE_NAME}-*.zip"> <IfLastModified age="7d"> <IfAny> <IfAccumulatedFileSize exceeds="100MB" /> <IfAccumulatedFileCount exceeds="100" /> </IfAny> </IfLastModified> </IfFileName> </Delete> </DefaultRolloverStrategy> </RollingFile> </Appenders> <!--- methodLog --> <RollingFile name="ROLLING_HTTP_LOG_METHOD_FILE"> <FileName>${HTTP_LOG_METHODLOG_PATH}/${METHOD_FILE_NAME}.log</FileName> <FilePattern>${HTTP_LOG_METHODLOG_PATH}/${METHOD_FILE_NAME}-%d{yyyy-MM-dd}.%i.zip</FilePattern> <PatternLayout pattern="${HTTP_LOG_PATTERN}"/> <Policies> <SizeBasedTriggeringPolicy size="100MB" /> </Policies> <DefaultRolloverStrategy max="100"> <Delete basePath="${HTTP_LOG_METHODLOG_PATH}" maxDepth="2"> <IfFileName glob="*${METHOD_FILE_NAME}-*.zip"> <IfLastModified age="7d"> <IfAny> <IfAccumulatedFileSize exceeds="100MB" /> <IfAccumulatedFileCount exceeds="100" /> </IfAny> </IfLastModified> </IfFileName> </Delete> </DefaultRolloverStrategy> </RollingFile> </Appenders> <Loggers> <!-- access logger config --> <Logger name="com.huaweicloud.devspore.http.log.DevsporeHttpLogFilter" level="info" additivity="false"> <AppenderRef ref="ROLLING_HTTP_LOG_ACCCESS_FILE"/> </Logger> <!-- request logger config --> <Logger name="com.huaweicloud.devspore.http.log.ClientRequestLogger" level="info" additivity="false"> <AppenderRef ref="ROLLING_HTTP_LOG_REQUEST_FILE"/> </Logger> <!-- method logger config --> <Logger name="com.huaweicloud.devspore.http.log.aspect.MethodLogger" level="info" additivity="false"> <AppenderRef ref="ROLLING_HTTP_LOG_METHOD_FILE"/> </Logger> <Root level="info"> <AppenderRef ref="STDOUT"/> </Root> </Loggers> </Configuration>
父主题: 使用指南