键值日志
键值是一种简单的结构化数据格式,用于存储键值对集合。部分应用程序使用键值格式进行日志记录,您可以通过在日志模式中指定相应的键来获取这些日志中的值。此模式提升了搜索过滤能力,并能无缝解析出相应的值。
Site24x7 帮助解析您的键值日志。此外,Site24x7 还支持普通日志与键值日志模式的组合。使用 Site24x7 AppLogs 从这些日志中获取更多信息。
入门
更多信息请参阅添加日志类型帮助文档。
键值日志模式
示例日志
date="2014-06-18 11:57:46,719" at=info method=POST path="/en/admin/post/1/edit?k0=v0&k1=v1" host=helloworld-symfony.herokuapp.com request_id=e8843b25-3587-4229-a430-c93360a0e89f fwd="121.24.53.11" dyno=web.1 connect=1ms service=243ms status=302 bytes=559 protocol=https
日志模式
日志模式必须以关键字 keyvalue 开头,并且至少包含一个日期字段。以下是 Site24x7 为解析上述键值日志而定义的示例模式:
keyvalue $date:date:yyyy-MM-dd HH:mm:ss,SSS$ $at$ $method$ $path$ $host$ $request_id as requestid$ $fwd$ $dyno$ $connect$ $service$ $status:number$ $bytes:number$ $protocol$
如需更改字段名称,例如将 request_id 改为 requestid,请使用 as 关键字。此外,如果您想排除某个字段,可以从日志模式中将其删除。
日志被拆分为多个字段,每个字段将获取其对应的值,然后上传到 Site24x7。
| 字段名称 | 字段值 |
| date | 2014-06-18 11:57:46,719 |
| at | info |
| method | POST |
| path | /en/admin/post/1/edit?k0=v0&k1=v1 |
| host | helloworld-symfony.herokuapp.com |
| requestid | e8843b25-3587-4229-a430-c93360a0e89f |
| fwd | 121.24.53.11 |
| dyno | web.1 |
| connect | 1ms |
| service | 243ms |
| status | 302 |
| bytes | 559 |
| protocol | https |

普通日志与键值模式日志的组合
示例日志
2012-02-07T09:43:06.123456+00:00 heroku[router]: at=info method=GET path="/stylesheets/dev-center/library.css" host=devcenter.heroku.com fwd="204.204.204.204" dyno=web.5 connect=1ms service=18ms status=200 bytes=13
日志模式
以下日志模式包含普通日志与键值日志的组合:
$DateTime:date$ heroku[router]: $Message:keyvalue:$at$$method$ $path$ $host$ $fwd$ $dyno$ $connect$ $service$ $status:number$ $bytes:number$$
DateTime 和 heroku 是普通日志模式中的字段名,而 Message:keyvalue 关键字后面的字段名遵循键值日志模式。
| 字段名称 | 字段值 |
| DateTime | 2012-02-07T09:43:06.123456+00:00 |
| at | info |
| method | GET |
| path | /stylesheets/dev-center/library.css |
| host | devcenter.heroku.com |
| fwd | 204.204.204.204 |
| dyno | web.5 |
| connect | 1ms |
| service | 18ms |
| status | 200 |
| bytes | 13 |

