2012-07-09 140 views
0

我期待解析日志文件(文本文件通常是由某些字符分隔),我想通过一个分析器,可以采取在XML文件中描述的格式,使工作变得更简单日志文件进来,这样我可以养活我的解析器任何类型的日志文件,我的解析器和我的XML描述并提取有用的信息。我不确定如何在xml中一般性地描述日志文件格式。此外,我不确定如何将日志文件中的行与指定的描述进行匹配。我将不胜感激任何帮助和指导。非常感谢任何回复的人。文件描述符用XML编写

回答

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 
+0

谢谢你,这是非常有帮助的。一旦我有一个正确的描述,我仍然有点不确定如何解析xml文件。我能否看到你如何解析这个例子?我正在尝试在java中使用提供的xml API来实现这个解析器。非常感谢您再次感谢您的帮助。 – mil06 2012-07-10 22:20:08

+0

关于上面XML中的长度属性,我有点不确定。如果它指出要写入的相应字段的文本数量(然后名称可能更精确),那就没关系。如果它被用作最大字符串大小是很难维持(第一需要的日志文件的解析,以确定正确的值),并可能导致异常,如果设置不当。 – guidot 2012-07-13 12:26:31

+0

@guidot - 这是字符数从现场阅读。 – sreehari 2012-07-13 14:03:57