22/11/2011
Esportare log.nsf in formato testo
Come qualunque sistemista potrà confermarvi i log sono l’essenza stessa di questo lavoro.
Il log sono la fonte di conoscenza suprema, sono la chiave di volta del processo di problem solving, i log sono la luce in fondo al tunnel :)
Lotus Domino di default ha il brutto vizio di scrivere i log in un database (solitamente log.nsf) ruotando i log stessi in differenti documenti, un sistema che per certi versi può risultare comodo e funzionale, per altri una fonte inesauribile di mal di testa e maledizioni.
Esistono apposite opzioni per far loggare il servizio in append ad un file di testo su filesystem, nella vita però si sa che “la fortuna è cieca ma la sfiga vede anche i raggi gamma” (cit) e non sempre è possibile modificare la configurazione per abilitare queste features.
Per chi dovesse trovarsi in questa situazione segnalo un semplice agente Lotuscript in grado di esportare in un file di testo (c:\temp\out.txt) il body dei documenti selezionati da una vista del database log.nsf
Sub Initialize
Dim session As NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim stream As NotesStream
Set session = New NotesSession
Set db = session.CurrentDatabase
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
Set outStream = session.CreateStream
If Not outStream.Open("c:\temp\out.txt", "binary") Then
Messagebox outPath,, "Open failed"
Exit Sub
End If
If outStream.Bytes <> 0 Then
Messagebox outPath,, "File exists and has content"
Exit Sub
End If
While Not(doc Is Nothing)
Forall voce In doc.EventList
Call outStream.WriteText(voce )
Call outStream.WriteText(Chr(13) & Chr(10))
End Forall
Set doc = dc.GetNextDocument(doc)
Wend
End Sub
Come qualunque sistemista potrà confermarvi, i log sono l’essenza stessa di questo lavoro.
Il log sono la fonte di conoscenza suprema, sono la chiave di volta del processo di problem solving, i log sono la luce in fondo al tunnel :)
Lotus Domino di default ha il brutto vizio di scrivere i log in un database (solitamente log.nsf) ruotando i log stessi in differenti documenti, un sistema che per certi versi può risultare comodo e funzionale, per altri una fonte inesauribile di mal di testa e maledizioni.
Domino prevede apposite opzioni per far loggare il servizio in append ad un file di testo su filesystem, purtroppo però non sempre è possibile modificare la configurazione per abilitare queste features.
Per chi dovesse trovarsi in questa situazione segnalo un semplice agente Lotuscript in grado di esportare in un file di testo (c:\temp\out.txt) il body dei documenti selezionati da una vista del database log.nsf