LogFile System
Verfasst: 09.04.2007 18:23
Hi Leute,
ich weis nich ob es sowas hier schon gibt oder nich also poste ich mal mein LogFile-System welches sehr nützlich ist um Fehler aufzuspüren falls mal ein Absturtz kommt und man nich weis was gerade los war oder um Meldungen in einer Datei austugeben was gerade oder während des Programmes passiert, besonders gut wenn man es ohne Debugger laufen hat.
mfg
ich weis nich ob es sowas hier schon gibt oder nich also poste ich mal mein LogFile-System welches sehr nützlich ist um Fehler aufzuspüren falls mal ein Absturtz kommt und man nich weis was gerade los war oder um Meldungen in einer Datei austugeben was gerade oder während des Programmes passiert, besonders gut wenn man es ohne Debugger laufen hat.
mfg
Code: Alles auswählen
;//###################################################//;
;//# Logfile.pbi
;//# by Arthur
;//###################################################//;
#EOL = Chr(13)
#Log_File = 10
#Log_FAIL = #False
#Log_OK = #True
#Log_Black = "<font color=black>"
#Log_Red = "<font color=red>"
#Log_Green = "<font color=green>"
#Log_Blue = "<font color=blue>"
#Log_Purple = "<font color=purple>"
Declare Log_Create(LogName.s)
Declare Log_WriteTopic(Topic.s, Size.b)
Declare Log_TextOut(Text.s)
Declare Log_TextOutN(Text.s)
Declare Log_TextOut_C(Color.s, List.b, Text.s)
Declare.b Log_ProcResult(Name.s, Result.b)
Procedure Log_Create(LogName.s)
CreateFile(#Log_File,LogName+".html")
WriteStringN(#Log_File,"<html><head><title>Logfile</title></head>")
WriteStringN(#Log_File,"<body><font face='courier new'>")
Log_WriteTopic("Logfile", 5)
CompilerIf #PB_Compiler_Debugger
WriteStringN(#Log_File,"BUILD: DEBUG<br>")
CompilerElse
WriteStringN(#Log_File,"BUILD: RELEASE<br>")
CompilerEndIf
WriteStringN(#Log_File,FormatDate("%hh:%ii:%ss [%dd.%mm.%yyyy]",Date())+"<br><br>")
EndProcedure
Procedure Log_WriteTopic(Topic.s, Size.b)
WriteStringN(#Log_File,"<table cellspacing='0' cellpadding='0' width='100%%' bgcolor='#DFDFE5'>")
WriteStringN(#Log_File,"<tr>"+#EOL+"<td>"+#EOL+"<font face='arial' size='"+Str(Size)+"'>")
WriteStringN(#Log_File,Topic)
WriteStringN(#Log_File,"</font>"+#EOL+"</td>"+#EOL+"</tr>"+#EOL+"</table><br>")
FlushFileBuffers(#Log_File)
EndProcedure
Procedure Log_TextOut(Text.s)
WriteString(#Log_File,Text)
FlushFileBuffers(#Log_File)
EndProcedure
Procedure Log_TextOutN(Text.s)
WriteStringN(#Log_File,Text+"<br>")
FlushFileBuffers(#Log_File)
EndProcedure
Procedure Log_TextOut_C(Color.s, List.b, Text.s)
If List = #True : WriteStringN(#Log_File,"<li>") : EndIf
WriteStringN(#Log_File,Color+Text+"</font>")
If List = #False : WriteStringN(#Log_File,"<br>") : Else : WriteStringN(#Log_File,"</li>") : EndIf
FlushFileBuffers(#Log_File)
EndProcedure
Procedure.b Log_ProcResult(Name.s, Result.b)
If Result = #Log_OK
WriteStringN(#Log_File,"<table width='100%%' cellSpacing='1' cellPadding='5' border='0' bgcolor='#C0C0C0'>")
WriteStringN(#Log_File,"<tr><td bgcolor='#FFFFFF' width='35%%'>"+Name+"</TD>")
WriteStringN(#Log_File,"<td bgcolor='#FFFFFF' width='30%%'><font color ='green'>OK</FONT></TD><td bgcolor='#FFFFFF'")
WriteStringN(#Log_File,"width='35%%'>-/-</TD></tr></table>")
Else
WriteStringN(#Log_File,"<table width='100%%' cellSpacing='1' cellPadding='5' border='0' bgcolor='#C0C0C0'>")
WriteStringN(#Log_File,"<tr><td bgcolor='#FFFFFF' width='35%%'>"+Name+"</TD>")
WriteStringN(#Log_File,"<td bgcolor='#FFFFFF' width='30%%'><font color ='red'>ERROR</FONT></TD><td bgcolor='#FFFFFF'")
WriteStringN(#Log_File,"width='35%%'>-/-</TD></tr></table>")
EndIf
FlushFileBuffers(#Log_File)
ProcedureReturn Result
EndProcedure