全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
日志服务

Log4j日志

更新时间:2017-09-28 16:42:55

日志服务支持通过以下方式采集log4j日志:

  • Loghub Log4j Appender
  • Logtail

通过Loghub Log4j Appender采集Log4j日志

详细内容及采集步骤请参考Log4j Appender

通过Logtail采集Log4j日志

Log4j日志分第一代和第二代,本文档以第一代的默认配置为例,讲述如何配置正则式,如果采用Log4j 2,需要修改默认配置,把日期完整打印出来。

  1. <Configuration status="WARN">
  2. <Appenders>
  3. <Console name="Console" target="SYSTEM_OUT">
  4. <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss:SSS zzz} [%t] %-5level %logger{36} - %msg%n"/>
  5. </Console>
  6. </Appenders>
  7. <Loggers>
  8. <Logger name="com.foo.Bar" level="trace">
  9. <AppenderRef ref="Console"/>
  10. </Logger>
  11. <Root level="error">
  12. <AppenderRef ref="Console"/>
  13. </Root>
  14. </Loggers>
  15. </Configuration>

配置Logtail收集Python日志的详细操作步骤请参考快速入门Apache日志,根据您的网络部署和实际情况选择对应配置。

在生成正则式的部分,由于自动生成的正则式只参考了日志样例,无法覆盖所有的日志情况,所以需要用户在自动生成之后做一些微调。

Log4j 默认日志格式打印到文件中的日志样例如下:

  1. 2013-12-25 19:57:06,954 [10.207.37.161] WARN impl.PermanentTairDaoImpl - Fail to Read Permanent Tair,key:e:470217319319741_1,result:com.example.tair.Result@172e3ebc[rc=code=-1, msg=connection error or timeout,value=,flag=0]

多行日志起始匹配(使用IP信息表示一行开头):

  1. \d+-\d+-\d+\s.*

提取日志信息的正则表达式:

  1. (\d+-\d+-\d+\s\d+:\d+:\d+,\d+)\s\[([^\]]*)\]\s(\S+)\s+(\S+)\s-\s(.*)

时间转换格式:

  1. %Y-%m-%d %H:%M:%S

样例日志提取结果:

Key Value
time 2013-12-25 19:57:06,954
ip 10.207.37.161
level WARN
class impl.PermanentTairDaoImpl
message Fail to Read Permanent Tair,key:e:470217319319741_1,result:com.example.tair.Result@172e3ebc[rc=code=-1, msg=connection error or timeout,value=,flag=0]
本文导读目录