2

我有一个日志文件(log4j xml-ish 格式),我试图从中提取信息并在我的 Python 模块中使用。我可以将此文件视为 XML 吗?我的直觉告诉我不...如果不是,解析数据的最佳方法是什么?以下是日志文件的一部分。该文件不包含您的标准文档类型或版本标头,这就是我说“xml-ish”的原因。

<log4j:event 
logger="com.hp.cp.elk.impl.subscriptions.AsyncSimpleSubscriptionManager"
timestamp="1352320517430" level="DEBUG" thread="Thread-77">
<log4j:message><![CDATA[Broadcasting signals to subscribers...]]></log4j:message>
</log4j:event>

<log4j:event logger="com.hp.cp.jdf.idp.queue.IDPJobProgressMonitor"
timestamp="1352320517430" level="DEBUG" thread="IDPJobProgressMonitorThread">
<log4j:message><![CDATA[[JDFQueueEntry[  -->  JDFAutoQueueEntry[  --> JDFElement[
--> <?xml version="1.0" encoding="UTF-8"?><QueueEntry 
xmlns="http://www.CIP4.org/JDFSchema_1_1"
DescriptiveName="H44E61-6.pdf" DeviceID="HPPRO1-SM1"
EndTime="2012-11-07T10:58:18-08:00" JobID="Default" Priority="50"
QueueEntryID="d5fbbe98a1194e0da573b51a0c8040fb" Status="Completed" 
SubmissionTime="2012-11-06T16:35:06-08:00">  <Comment AgentName="CIP4 JDF Writer 
Java" AgentVersion="1.4a BLD 63" ID="c_121106_163506894_000804" 
Name="JobSpec">WBG_4C_Flat_21up_BusCards_Duplex</Comment>
</QueueEntry>
] ] ]] queue entries changed.]]></log4j:message>
</log4j:event>

<log4j:event logger="com.hp.cp.jdf.idp.queue.IDPJobProgressMonitor" 
timestamp="1352320517430" level="DEBUG" thread="IDPJobProgressMonitorThread">
<log4j:message><![CDATA[no active queue entries changed.]]></log4j:message>
</log4j:event>

抱歉代码乱七八糟,我只是想让大家对格式有所了解。无论如何,我目前只是想从QueueEntryID="d5fbbe98a1194e0da573b51a0c8040fb"任何建议中提取价值?谢谢!

4

1 回答 1

3

我想您可以使用标准的 XML 工具(如 DOM 或 SAX)来解析它。否则,玩得开心reor htmllib

于 2012-11-07T21:21:38.357 回答