我希望解析日志文件(通常由某些字符分隔的文本文件),我希望通过创建一个可以接收描述日志文件格式的xml文件的解析器来简化工作。这样我可以为我的解析器提供任何类型的日志文件,并使用我的xml描述我的解析器并提取有用的信息。我不确定如何在xml中一般性地描述日志文件格式。此外,我不确定如何匹配我的日志文件中的行与给出的描述。我将非常感谢任何帮助和指导。非常感谢任何回复的人。
答案 0 :(得分:1)
<logfile location="/usr/local/logs/logfile.log">
<delimiter>#</delimiter>
<format>
<field index="1" length="10">
<target>Date</target>
</field>
<field index="2">
<target>Message</target>
</field>
<field index="3" length="20">
<target>Component</target>
</field>
<field index="5" length="20">
<target>Details</target>
</field>
</format>
</logfile>
您的代码将读取此XML并根据此处定义的规则动态解析日志文件中的每一行。然后程序将值存储在适当的“目标”字段中。
日志文件:
2012/12/12 10.10.10#Critical application state#Error in component XYZ#Useless information#Useful information
输出:
Date: 2012/12/12
Message: Critical application state
Component: Error in component XYZ
Details: Useful information