0
我正在Scala中創建一個簡單的Web服務器,我試圖將事件日誌記錄實現到一個XML文件。 XML結構是這樣的:Scala - 將XML追加到文件
<log>
<event>
<type>Info/Warning/Error/etc</type>
<description>File not found etc</description>
<file>/etc/etc.etc</file>
<ip>1.2.3.4</ip>
<time>12:34:56 1st Jan 2012</time>
</event>
<event>
etc...
<event>
</log>
目前即時通訊試圖將XML寫這樣的文件:
var logEvent =
<log>
<event>
<type>ERROR</type>
<description>The Requested File was not found</description>
<file>{path}</file>
<ip>{connection.getRemoteSocketAddress}</ip>
<time>{new Date(System.currentTimeMillis)}</time>
</event>
</log>
XML.save(logFile, logEvent, "UTF-8", true, null)
然而,當我檢查文件只有最近甚至有和刷新文件當服務器正在運行時,會顯示每個事件替換文件中的最後一個事件。
我也嘗試使用FileOutputStream
,附加功能與XML.write
一起啓用,但是在每個事件之前插入XML模式,這會阻止它被識別爲正確的XML文件。它還在每個事件周圍添加根<log>
標籤。
我能想到的唯一方法是在文件中加載當前的XML,添加到文件中,然後寫回來,這對我來說似乎效率低下。
是否有一種簡單的方法將XML追加到我缺少的文件中? 任何幫助表示讚賞:)