extend Logger
This commit is contained in:
parent
8013677c37
commit
d34a4ed900
1 changed files with 44 additions and 0 deletions
|
@ -2,6 +2,10 @@
|
|||
;*
|
||||
;* lhs_log.pbi
|
||||
;*
|
||||
;* Single Logthread logger.
|
||||
;*
|
||||
;* For multiple logthread use lhs_log_ext.pbi
|
||||
;*
|
||||
;* (c) by René Linder
|
||||
;* (c) by Linder Hard- und Software
|
||||
;*
|
||||
|
@ -12,10 +16,12 @@
|
|||
;* lhs_log::App_Name = "Test App"
|
||||
;* lhs_log::SetLogFile("test_app.log"))
|
||||
;* lhs_log::SetMaxSize(32)
|
||||
;* lhs_log::SetLogLevel(lhs_log::#Error)
|
||||
;* lhs_log::SetLogDateFormat("%yyyy.%mm.%dd %hh:%ii:%ss")
|
||||
;* lhs_log::SetLogFileDateFormat("%yyyy_%mm_%dd_%hh_%ii_%ss")
|
||||
;* lhs_log::Init()
|
||||
;* lhs_log::Out("Log started.", #lhs_log::#Debug)
|
||||
;* lhs_log::OutL(lhs_log::#Info, "Info Level")
|
||||
;* lhs_log::Close()
|
||||
;}
|
||||
CompilerIf #PB_Compiler_Thread <> 1
|
||||
|
@ -28,12 +34,20 @@ DeclareModule lhs_log
|
|||
#Debug = 1
|
||||
#NoDebug = 0
|
||||
|
||||
Enumeration LogLevel
|
||||
#Info
|
||||
#Warning
|
||||
#Error
|
||||
EndEnumeration
|
||||
|
||||
Declare SetLogFile(LogFileName.s)
|
||||
Declare SetMaxSize(Megabyte.i)
|
||||
Declare SetLogLevel(Level.i)
|
||||
Declare SetLogFileDateFormat(DateFormat.s)
|
||||
Declare SetLogDateFormat(DateFormat.s)
|
||||
Declare Init()
|
||||
Declare Out(ToLog.s, debugger.i = #NoDebug)
|
||||
Declare OutL(LogType.i, ToLog.s, debugger.i = #NoDebug)
|
||||
Declare Close()
|
||||
EndDeclareModule
|
||||
|
||||
|
@ -54,6 +68,7 @@ Module lhs_log
|
|||
Global ExitSemaphore = CreateSemaphore()
|
||||
Global MaxSize.q = 32 * 1024 * 1024
|
||||
Global LastSize.q = 0
|
||||
Global LogLevel.i = #Info
|
||||
Global LogFileDateFormat.s = "%yyyy_%mm_%dd_%hh_%ii_%ss"
|
||||
Global LogDateFormat.s = "%yyyy.%mm.%dd %hh:%ii:%ss"
|
||||
Global NewList Messages.s()
|
||||
|
@ -66,6 +81,19 @@ Module lhs_log
|
|||
EndIf
|
||||
EndProcedure
|
||||
|
||||
Procedure SetLogLevel(Level.i)
|
||||
Select Level
|
||||
Case #Info
|
||||
LogLevel = #Info
|
||||
Case #Warning
|
||||
LogLevel = #Warning
|
||||
Case #Error
|
||||
LogLevel = #Error
|
||||
Default
|
||||
LogLevel = #Error
|
||||
EndSelect
|
||||
EndProcedure
|
||||
|
||||
Procedure SetLogFile(LogFileName.s)
|
||||
Protected.i TestFile_ID
|
||||
|
||||
|
@ -168,6 +196,22 @@ Module lhs_log
|
|||
SignalSemaphore(Semaphore)
|
||||
EndProcedure
|
||||
|
||||
Procedure OutL(LogType.i, ToLog.s, debugger.i = #NoDebug)
|
||||
If LogType >= LogLevel
|
||||
Select LogType
|
||||
Case #Info
|
||||
ToLog = "Info: " + ToLog
|
||||
Case #Warning
|
||||
ToLog = "Warning: " + ToLog
|
||||
Case #Error
|
||||
ToLog = "Error: " + ToLog
|
||||
Default
|
||||
ToLog = "Error: " + ToLog
|
||||
EndSelect
|
||||
Out(ToLog, debugger)
|
||||
EndIf
|
||||
EndProcedure
|
||||
|
||||
Procedure Close()
|
||||
Exit=1
|
||||
SignalSemaphore(Semaphore)
|
||||
|
|
Loading…
Reference in a new issue