Xml er ideelt til dette, bortsett fra en ting, nemlig at en fil må ha enkelt
root-node. En logg er ikke en fil med en fast størelse, men en strøm av
loggeventer. Jeg tenker meg noe ala:
------------------ fil ----------------------
<xml version="1.0">
<logevent>
<type>Notification</type>
<origin>SomeClass::Method()</origin>
<text>Something interesting happend bla bla</text>
</logevent
<logevent>
<type>Notification</type>
<origin>SomeClass::Method()</origin>
<text>Something interesting happend bla bla</text>
</logevent
<logevent>
<type>Notification</type>
<origin>SomeClass::Method()</origin>
<text>Something interesting happend bla bla</text>
</logevent
---------------------------------------------
En slik loggfil kan jo vokse og vokse i det uendelige, og dermed er det
problematisk å omslutte logevent-nodene med en <logfile></logfile>
root-node.
Har noen vært borti problemstillingen?
Jarle
--
Jarle Aase http://www.jgaa.com
mailto:jg...@jgaa.com
<<< no need to argue - just kill'em all! >>>
En mulighet er å ha et wrapper-dokument rundt som bruker XInclude til å
hente inn loggevents fra en egen fil.
En annen mulighet er å se på systemer for å parse XML streams.
--
Lars Haugseth
Ta ein titt på Log4J. Dette er eit logge API som opprinneleg er for
Java, men porta til andre språk, f.eks perl og C++. Her er det
standardisert eit XML loggeformat. Hvis du bruker dette, kan du og bruke
program for å kikke på og analysere loggar som er meint for Log4j.
http://logging.apache.org/log4j/docs/
http://wiki.apache.org/logging-log4j/Log4jXmlFormat?highlight=%28xml%29
Helsing Gunnar Bjørgum
Forresten blir filen ganske stor. Hvis du vil spare på plassen kan du bruke
attributter slik:
<logevent type="..." origin="..." text="...."/>
<logevent type="..." origin="..." text="...."/>
<logevent type="..." origin="..." text="...."/>
Når du likevel trikser med formatet ved innlesingen kan du jo egentlig lagre
nodene slik:
t=".." o="..." t=".." \n
t=".." o="..." t=".." \n
Spare på plassen er greit selv i 2005 :-)
Mvh
Twh
Jeg tror nok jeg ville ha hatt selve meldingen som et underelement,
ikke som et attributt, med tanke på lesbarhet og håndtering av
spesialtegn i meldingen.
--
Lars Haugseth
For the første blir blir teksten i atributtene "escapet" hvis man bruker et
standard xml dokument-objekt, så spesialtegnene trengs ikke gjøres noe med.
For det andre så er ikke XML laget for at mennesker skal kunne lese dataene.
Poenget er at dataene skal kunne transformeres til et format som kan leses
av mennesker.
Twh