NRAO
NRAO Home > Thomas Juerges Home > ..... > XSL Transformation of ALMA log files

This file can be used to transform ALMA logs files which are in XML format to human readable ASCII format. In order to make the transformation successful, you have to enclose the XML data in the log file with <Log>...</Log>.
Here is an example of an ALMA log file:


<Info TimeStamp="2007-06-30T20:04:38.843" File="maciContainerImpl.cpp" Line="1495" Routine="maci::ContainerImpl::initThread" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="main"><![CDATA[Thread name: 'main']]></Info>
<Debug TimeStamp="2007-06-30T20:04:38.843" File="maciContainerImpl.cpp" Line="728" Routine="maci::ContainerImpl::init" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="CONTROL/Test/cppContainer"><![CDATA[Generated CommandLine: maciContainer CONTROL/Test/cppContainer -ORBEndpoint iiop://10.1.1.1:4000 -m corbaloc::10.1.1.1:3000/Manager  -ORBDottedDecimalAddresses 1 -ORBInitRef InterfaceRepository=corbaloc::10.1.1.1:3004/InterfaceRepository]]></Debug>
<Debug TimeStamp="2007-06-30T20:04:38.845" File="maciContainerImpl.cpp" Line="770" Routine="maci::ContainerImpl::init" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="CONTROL/Test/cppContainer"><![CDATA[Destroy bootstrap ORB]]></Debug>
<Trace TimeStamp="2007-06-30T20:04:38.845" File="maciContainerImpl.cpp" Line="208" Routine="maci::ContainerImpl::initializeCORBA" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="CONTROL/Test/cppContainer"></Trace>
<Trace TimeStamp="2007-06-30T20:04:38.858" File="maciContainerImpl.cpp" Line="186" Routine="maci::ContainerImpl::getManager" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="CONTROL/Test/cppContainer"></Trace>
<Info TimeStamp="2007-06-30T20:04:38.858" Routine="maci::ContainerImpl::getManager" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="CONTROL/Test/cppContainer"><![CDATA[Resolving manager...]]></Info>
<Trace TimeStamp="2007-06-30T20:04:38.858" File="maciContainerImpl.cpp" Line="1280" Routine="maci::ContainerImpl::resolveManager" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="CONTROL/Test/cppContainer"></Trace>
<Trace TimeStamp="2007-06-30T20:04:38.930" File="maciHelper.cpp" Line="160" Routine="maci::MACIHelper::resolveManager" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="GlobalLogger"></Trace>
<Info TimeStamp="2007-06-30T20:04:38.930" Routine="maci::MACIHelper::resolveManager" SourceObject="GlobalLogger"><![CDATA[ManagerReference obtained via command line: 'corbaloc::10.1.1.1:3000/Manager']]></Info>
<Trace TimeStamp="2007-06-30T20:04:38.930" File="maciHelper.cpp" Line="244" Routine="maci::MACIHelper::resolveManager" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="GlobalLogger"></Trace>
<Debug TimeStamp="2007-06-30T20:04:38.931" File="maciHelper.cpp" Line="249" Routine="maci::MACIHelper::resolveManager" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="GlobalLogger"><![CDATA[Resolving reference: 'corbaloc::10.1.1.1:3000/Manager']]></Debug>
<Debug TimeStamp="2007-06-30T20:04:38.932" File="maciContainerThreadHook.cpp" Line="66" Routine="maci::ContainerThreadHook::initThread" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="ID=3056135088" Context="" SourceObject="GlobalLogger"><![CDATA[ContainerThreadHook initiailized]]></Debug>

Enclose it with <Log>...</Log>:


<Log>
<Info TimeStamp="2007-06-30T20:04:38.843" File="maciContainerImpl.cpp" Line="1495" Routine="maci::ContainerImpl::initThread" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="main"><![CDATA[Thread name: 'main']]></Info>
<Debug TimeStamp="2007-06-30T20:04:38.843" File="maciContainerImpl.cpp" Line="728" Routine="maci::ContainerImpl::init" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="CONTROL/Test/cppContainer"><![CDATA[Generated CommandLine: maciContainer CONTROL/Test/cppContainer -ORBEndpoint iiop://10.1.1.1:4000 -m corbaloc::10.1.1.1:3000/Manager  -ORBDottedDecimalAddresses 1 -ORBInitRef InterfaceRepository=corbaloc::10.1.1.1:3004/InterfaceRepository]]></Debug>
<Debug TimeStamp="2007-06-30T20:04:38.845" File="maciContainerImpl.cpp" Line="770" Routine="maci::ContainerImpl::init" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="CONTROL/Test/cppContainer"><![CDATA[Destroy bootstrap ORB]]></Debug>
<Trace TimeStamp="2007-06-30T20:04:38.845" File="maciContainerImpl.cpp" Line="208" Routine="maci::ContainerImpl::initializeCORBA" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="CONTROL/Test/cppContainer"></Trace>
<Trace TimeStamp="2007-06-30T20:04:38.858" File="maciContainerImpl.cpp" Line="186" Routine="maci::ContainerImpl::getManager" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="CONTROL/Test/cppContainer"></Trace>
<Info TimeStamp="2007-06-30T20:04:38.858" Routine="maci::ContainerImpl::getManager" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="CONTROL/Test/cppContainer"><![CDATA[Resolving manager...]]></Info>
<Trace TimeStamp="2007-06-30T20:04:38.858" File="maciContainerImpl.cpp" Line="1280" Routine="maci::ContainerImpl::resolveManager" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="CONTROL/Test/cppContainer"></Trace>
<Trace TimeStamp="2007-06-30T20:04:38.930" File="maciHelper.cpp" Line="160" Routine="maci::MACIHelper::resolveManager" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="GlobalLogger"></Trace>
<Info TimeStamp="2007-06-30T20:04:38.930" Routine="maci::MACIHelper::resolveManager" SourceObject="GlobalLogger"><![CDATA[ManagerReference obtained via command line: 'corbaloc::10.1.1.1:3000/Manager']]></Info>
<Trace TimeStamp="2007-06-30T20:04:38.930" File="maciHelper.cpp" Line="244" Routine="maci::MACIHelper::resolveManager" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="GlobalLogger"></Trace>
<Debug TimeStamp="2007-06-30T20:04:38.931" File="maciHelper.cpp" Line="249" Routine="maci::MACIHelper::resolveManager" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="main" Context="" SourceObject="GlobalLogger"><![CDATA[Resolving reference: 'corbaloc::10.1.1.1:3000/Manager']]></Debug>
<Debug TimeStamp="2007-06-30T20:04:38.932" File="maciContainerThreadHook.cpp" Line="66" Routine="maci::ContainerThreadHook::initThread" Host="delphinus" Process="CONTROL/Test/cppContainer" Thread="ID=3056135088" Context="" SourceObject="GlobalLogger"><![CDATA[ContainerThreadHook initiailized]]></Debug>
</Log>

Use your favorite XSL transformation tool. I prefer Oxygen. The transformed output will look like this:


2007-06-30T20:04:38.843 [INFO] (delphinus) Process=CONTROL/Test/cppContainer, SourceObject=main, Thread=main, Routine=maci::ContainerImpl::initThread, File=maciContainerImpl.cpp, Line=1495, - Thread name: 'main'
2007-06-30T20:04:38.843 [DEBUG] (delphinus) Process=CONTROL/Test/cppContainer, SourceObject=CONTROL/Test/cppContainer, Thread=main, Routine=maci::ContainerImpl::init, File=maciContainerImpl.cpp, Line=728, - Generated CommandLine: maciContainer CONTROL/Test/cppContainer -ORBEndpoint iiop://10.1.1.1:4000 -m corbaloc::10.1.1.1:3000/Manager  -ORBDottedDecimalAddresses 1 -ORBInitRef InterfaceRepository=corbaloc::10.1.1.1:3004/InterfaceRepository
2007-06-30T20:04:38.845 [DEBUG] (delphinus) Process=CONTROL/Test/cppContainer, SourceObject=CONTROL/Test/cppContainer, Thread=main, Routine=maci::ContainerImpl::init, File=maciContainerImpl.cpp, Line=770, - Destroy bootstrap ORB
2007-06-30T20:04:38.845 [TRACE] (delphinus) Process=CONTROL/Test/cppContainer, SourceObject=CONTROL/Test/cppContainer, Thread=main, Routine=maci::ContainerImpl::initializeCORBA, File=maciContainerImpl.cpp, Line=208, - 
2007-06-30T20:04:38.858 [TRACE] (delphinus) Process=CONTROL/Test/cppContainer, SourceObject=CONTROL/Test/cppContainer, Thread=main, Routine=maci::ContainerImpl::getManager, File=maciContainerImpl.cpp, Line=186, - 
2007-06-30T20:04:38.858 [INFO] (delphinus) Process=CONTROL/Test/cppContainer, SourceObject=CONTROL/Test/cppContainer, Thread=main, Routine=maci::ContainerImpl::getManager, - Resolving manager...
2007-06-30T20:04:38.858 [TRACE] (delphinus) Process=CONTROL/Test/cppContainer, SourceObject=CONTROL/Test/cppContainer, Thread=main, Routine=maci::ContainerImpl::resolveManager, File=maciContainerImpl.cpp, Line=1280, - 
2007-06-30T20:04:38.930 [TRACE] (delphinus) Process=CONTROL/Test/cppContainer, SourceObject=GlobalLogger, Thread=main, Routine=maci::MACIHelper::resolveManager, File=maciHelper.cpp, Line=160, - 
2007-06-30T20:04:38.930 [INFO]SourceObject=GlobalLogger, Routine=maci::MACIHelper::resolveManager, - ManagerReference obtained via command line: 'corbaloc::10.1.1.1:3000/Manager'
2007-06-30T20:04:38.930 [TRACE] (delphinus) Process=CONTROL/Test/cppContainer, SourceObject=GlobalLogger, Thread=main, Routine=maci::MACIHelper::resolveManager, File=maciHelper.cpp, Line=244, - 
2007-06-30T20:04:38.931 [DEBUG] (delphinus) Process=CONTROL/Test/cppContainer, SourceObject=GlobalLogger, Thread=main, Routine=maci::MACIHelper::resolveManager, File=maciHelper.cpp, Line=249, - Resolving reference: 'corbaloc::10.1.1.1:3000/Manager'
2007-06-30T20:04:38.932 [DEBUG] (delphinus) Process=CONTROL/Test/cppContainer, SourceObject=GlobalLogger, Thread=ID=3056135088, Routine=maci::ContainerThreadHook::initThread, File=maciContainerThreadHook.cpp, Line=66, - ContainerThreadHook initiailized


Much easier to read.
Download the transformation file: ALMA_logs_to_txt.xsl

Modified on Saturday, 30-Jun-2007 14:58:23 MDT