Buenos días,
Necesito leer un fichero de log en XML (soap.log). De este fichero, necesito:
1. que busque los errores 500:
<codigo>-500</codigo>2. que si encuentra lo anterior se quede con el párrafo que va desde
<GBPFault> hasta
</GBPFault>3. que si se cumplen las dos premisas anteriores, que capture como variables el
<level>X</level>, el
<message>XXXX </message> y el
<appname>XXX </appname>.
Además me surge la duda de cómo hacer algún tipo de "marca de agua" para que no saque dos errores iguales, ya que el
script lo metería en el Omnibus para que cada 5 minutos leyera el log.
Estoy leyendo en este foro y en otros y la verdad es que encuentro bastantes cosas, pero me está costando mucho compilarlas todas hasta dar con cubrir todas las necesidades para generar correctamente estas alarmas.
Using xml Syntax Highlighting
<GBPFault>
<Errors>
<message>Unable to compose the document. Please check EWS folders¦javax.xml.ws.soap.SOAPFaultException: Engine execution error. Return code: 12</message>
<appname>OnlineComposition</appname>
<appid>GBP.0609_BM.BTT_CommonEAR</appid>
<codigo>-500</codigo>
<level>ERROR</level>
<component>OnlineComposition</component>
<method>Engine execution error. Return code: 12</method>
<rootcase>ARQ Unable to compose the document. Please check EWS folders¦javax.xml.ws.soap.SOAPFaultException: Engine execution error. Return code: 12</rootcase>
<operation>FI00002.pub/TP0009O</operation>
<idSesion>3IJLy_aZd8bHNUEADZJ7uTR</idSesion>
<idPeticion>A91E18AC3EEB450A9F1762CAA5C6D794</idPeticion>
<usuario>PARR2002</usuario>
<idTerminalFisico></idTerminalFisico>
<timestamp>2016-10-19 14:28:02.669</timestamp>
<type>DESCONOCIDO</type>
</Errors>
</GBPFault>
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4