XML 日志
可扩展标记语言(XML)是一种简单的基于文本的格式化语言,用于存储和组织数据。一些日志框架以 XML 格式写入日志,XML 标签用于标识数据。Site24x7 可帮助解析您的 XML 日志,您可以使用 Site24x7 AppLogs 获取更多信息。
入门
您可以参阅添加日志类型帮助文档以获取更多信息。
XML 格式日志
第一种模式的示例日志
示例日志
<Log><Time>2022-04-02T19:07:37.5111809-04:00</Time><Task>System Backup(1)</Task><Operation>Partition Full Backup</Operation><ResultCode>0</ResultCode><Result>Success</Result><Detail>The operation has been completed successfully.</Detail></Log>
日志模式
以下是 Site24x7 为解析 XML 格式日志而定义的示例模式:
xml $Task$ $Time:date:unix$ $Operation$ $ResultCode:number$ $Detail$ $Result$
此日志被分解为各个字段,每个字段取其对应的值,然后上传到 Site24x7。
| 字段名称 | 字段值 |
| Task | System Backup(1) |
| Time | 2022-04-02T19:07:37.5111809-04:00 |
| Operation | Partition Full Backup |
| ResultCode | 0 |
| Detail | The operation has been completed successfully. |
| Result | Success |

第二种模式的示例日志
您还可以为节点内容定义模式,以下是 Site24x7 解析的示例日志模式:
示例日志
<root><container_id>2e7455cf85e0a1f3a1e49ca58b4833616775f221bbd2c2de03d87a76732d6d4e</container_id><container_name>/competent_robinson</container_name><source>stderr</source><log>2022/05/10 09:45:01 Server out Log Location Initialized to ./serverout.log</log></root>
日志模式
上述示例日志中有一个 <log> 节点,包含两个关联值:日期和消息。可以使用以下日志模式提取这些信息。
xml $container_name$ $log:pattern:$Date:date:yyyy/MM/dd HH:mm:ss$ $Message$$ $source$ $container_id$
此日志被分解为以下字段:
| 字段名称 | 字段值 |
| container_name | /competent_robinson |
| Date | 2022/05/10 09:45:01 |
| Message | Server out Log Location Initialized to ./serverout.log |
| source | stderr |
| container_id | 2e7455cf85e0a1f3a1e49ca58b4833616775f221bbd2c2de03d87a76732d6d4e |

第三种模式的示例日志
您还可以为根元素或子元素定义属性,以下是 Site24x7 解析的示例日志模式:
示例日志
<Event xmlns="http://logging.apache.org/log4j/2.0/events" thread="Main.main()" level="DEBUG" loggerName="Main" endOfBatch="false" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadPriority="5" threadId="11"><Instant epochSecond="1657039904" nanoOfSecond="636000000"/><Message>Debug Message Logged !!!</Message></Event>
日志模式
以下日志模式包含根元素和子元素,并定义了若干属性。
xml $Instant.epochSecond as Date:date:unix$ $threadId:number$ $loggerFqcn$ $Message$ $level$ $endOfBatch$ $thread$ $loggerName$ $threadPriority:number$
| 字段名称 | 字段值 |
| Date | 1657039904 |
| threadId | 11 |
| loggerFqcn | org.apache.logging.log4j.spi.AbstractLogger |
| Message | Debug Message Logged !!! |
| level | DEBUG |
| endOfBatch | false |
| thread | Main.main() |
| loggerName | Main |
| threadPriority | 5 |

第四种模式的示例日志
您可以从节点中提取属性和内容,以下是 Site24x7 解析的示例日志模式:
示例日志
<Event><Timestamp type="4">2022-04-02T19:07:37.5111809-04:00</Timestamp><Service type="1">Dev</Service><Event type="1">Logging</Event></Event>
日志模式
上述示例日志包含同时具有属性和内容的节点,可以使用以下日志模式进行提取。
xml $Service.type as Service_type:number$ $Service.content as Service_content$ $Event.type as Event_type:number$ $Event.content as Event_content$ $Timestamp.type as Timestamp_type:number$ $Timestamp.content as Timestamp_content:date:yyyy-MM-dd'T'HH:mm:ss.SSSX$
| 字段名称 | 字段值 |
| Service_type | 1 |
| Service_content | Dev |
| Event_type | 1 |
| Event_content | Logging |
| Timestamp_type | 4 |
| Timestamp_content | 2022-04-02T19:07:37.5111809-04:00 |

