Add a Debug Wrapper Library for Logger Systems
This commit is contained in:
parent
964754b73a
commit
41881b20cf
1 changed files with 116 additions and 0 deletions
116
SYS/lhs_sys_debug_wrapper.pbi
Normal file
116
SYS/lhs_sys_debug_wrapper.pbi
Normal file
|
@ -0,0 +1,116 @@
|
|||
;************************
|
||||
;* Library : lhs_sys_debug_wrapper.pbi
|
||||
;*
|
||||
;* Wrapps Debug Messages PureBasic Default Debug, lhs_log and lhs_log_ext
|
||||
;*
|
||||
;* Created and develobed by Linder Hard- und Software
|
||||
;*
|
||||
;*
|
||||
|
||||
EnableExplicit
|
||||
|
||||
DeclareModule ldl
|
||||
Declare Logging(Output.s = "", UUID.s = "", Type.i = 0)
|
||||
|
||||
Declare Register(Function.i, UUID.s = "", Debugger.i = 0,LoggerUUID.s = "", LogType.i = 0 )
|
||||
Declare UnRegister(UUID.s = "")
|
||||
Declare IsRegistered(UUID.s = "")
|
||||
Declare SetDefault(UUID.s)
|
||||
|
||||
Enumeration LogingFunction
|
||||
#Default
|
||||
#SimpleLog
|
||||
#SimpleLog_Type
|
||||
#AdvancedLog
|
||||
#AdvancedLog_Type
|
||||
EndEnumeration
|
||||
|
||||
EndDeclareModule
|
||||
|
||||
Module ldl
|
||||
Structure ldl_Typed
|
||||
UUID.s
|
||||
Final_UUID.s
|
||||
LogType.i
|
||||
Debugger.i
|
||||
LogingFunction.i
|
||||
EndStructure
|
||||
|
||||
Global DefaultUUID.s = ""
|
||||
Global NewMap Logger.ldl_Typed()
|
||||
|
||||
Prototype.i Default_Debug(Output.s)
|
||||
Prototype.i Simple_Log(Output.s, debugger.i = 0)
|
||||
Prototype.i Simple_Log_Type(LogType.i, ToLog.s, debugger.i = 0)
|
||||
Prototype.i Advanced_Log(UUID.s, ToLog.s, debugger.i = 0)
|
||||
Prototype.i Advanced_Log_Type(UUID.s, LogType.i, ToLog.s, debugger.i = 0)
|
||||
|
||||
Procedure Logging(Output.s = "", UUID.s = "", Type.i = 0)
|
||||
If UUID = "" And DefaultUUID = ""
|
||||
Debug Output
|
||||
ProcedureReturn #True
|
||||
ElseIf UUID = "" And DefaultUUID <> ""
|
||||
UUID = DefaultUUID
|
||||
EndIf
|
||||
If IsRegistered(UUID)
|
||||
Select Logger(UUID)\LogingFunction
|
||||
Case #SimpleLog
|
||||
Define.Simple_Log Simple = Logger(UUID)\LogingFunction
|
||||
Simple(Output, Logger(UUID)\Debugger)
|
||||
Case #SimpleLog_Type
|
||||
Define.Simple_Log_Type Simple_Type = Logger(UUID)\LogingFunction
|
||||
Simple_Type(Logger(UUID)\LogType, Output, Logger(UUID)\Debugger)
|
||||
Case #AdvancedLog
|
||||
Define.Advanced_Log Advanced = Logger(UUID)\LogingFunction
|
||||
Advanced(Logger(UUID)\Final_UUID, Output, Logger(UUID)\Debugger)
|
||||
Case #AdvancedLog_Type
|
||||
Define.Advanced_Log_Type Advanced_Type = Logger(UUID)\LogingFunction
|
||||
Advanced_Type(Logger(UUID)\Final_UUID, Logger(UUID)\LogType, Output, Logger(UUID)\Debugger)
|
||||
Default
|
||||
Debug Output
|
||||
EndSelect
|
||||
Else
|
||||
Debug Output
|
||||
EndIf
|
||||
EndProcedure
|
||||
|
||||
Procedure Register(Function.i, UUID.s = "", Debugger.i = 0,LoggerUUID.s = "", LogType.i = 0 )
|
||||
If Not IsRegistered(UUID.s)
|
||||
Logger(UUID)\Debugger = Debugger
|
||||
If LoggerUUID = ""
|
||||
Logger(UUID)\Final_UUID = UUID
|
||||
Else
|
||||
Logger(UUID)\Final_UUID = LoggerUUID
|
||||
EndIf
|
||||
Logger(UUID)\LogingFunction = Function
|
||||
Logger(UUID)\LogType = LogType
|
||||
Logger(UUID)\UUID = UUID
|
||||
;ToDo: Verification LogType
|
||||
ProcedureReturn #True
|
||||
Else
|
||||
ProcedureReturn #False
|
||||
EndIf
|
||||
EndProcedure
|
||||
|
||||
Procedure UnRegister(UUID.s = "")
|
||||
If IsRegistered(UUID)
|
||||
DeleteMapElement(Logger(), UUID)
|
||||
ProcedureReturn #True
|
||||
Else
|
||||
ProcedureReturn #False
|
||||
EndIf
|
||||
EndProcedure
|
||||
|
||||
Procedure IsRegistered(UUID.s = "")
|
||||
If FindMapElement(Logger(), UUID)
|
||||
ProcedureReturn #True
|
||||
Else
|
||||
ProcedureReturn #False
|
||||
EndIf
|
||||
EndProcedure
|
||||
|
||||
Procedure SetDefault(UUID.s)
|
||||
DefaultUUID = UUID
|
||||
EndProcedure
|
||||
|
||||
EndModule
|
Loading…
Reference in a new issue