persistent
vhLib.Macro
1
Default
%Persistent
62082,43099.586734
61769,47367.516692
0
%String
%String
%String
%Date
%Integer
%Time
"E" = error
"I" = info
"W" = warn
"D" = debug
%String
1
%String
1
%String
%String
%String
%String
%String
Stack level in case of errors
%String
1
1
MainIndex,Datum,SubID
1
Server
Namespace
Datum
Niveau
Actie
Groep
1
objectgenerator
1
oLogger:vhLib.Logger,Datum,Tijd,Niveau:%String,Groep:%String,Actie:%String,Detail:%String,ProgLabel:%String,SendMail:%String=0
%String
Datum,Tijd,Niveau:%String,Groep:%String="",Actie:%String,Detail:%String,ProgLabel:%String
Set oLog=##class(VHSys.Logging).AddErrorToLog(Groep,Actie,Error,Detail)
1
Groep:%String,Actie:%String,Error,Detail:%String,blnSendMail:%Boolean=1
Logging
islist+2^%occRun")&&($$$GETERRORCODE(Error)=$$$GeneralError) lbTo=$LB("ICT_Meldingen@vanhoecke.be") ; Does not provide any extra information
Set sc=$$SendMiniMail^vhLib(From,lbTo,Subj,Body,,,,,)
Quit
aelErrorMailBody()
#define BodyTitle "Error in "_..%ClassName(1)_" : "
#define ErrorToLine(%v) $S($L($P(%v,">",2)):$TEXT(@$P(%v,">",2,32767)), 1:"")
Set Body=""
Set Body=Body_$$$BodyTitle_$$$CRLF
Set Body=Body_"Error message: "_$$ParseStatus^vhLib.System($G(Error,$G(%objlasterror)))_$$$CRLF
Set Body=Body_""_$$$CRLF
Set Body=Body_$$$CRLF_"Groep: "_$G(Groep)
Set Body=Body_$$$CRLF_"Actie: "_$G(Actie)
Set Body=Body_$$$CRLF_"Detail: "_$G(Detail)
Set Body=Body_$$$CRLF_"Error: "_$$ParseStatus^vhLib.System(Error)
Set Body=Body_$$$CRLF
Set Body=Body_$$$CRLF_"$ZError: "_$ZError
Set:($L($ZError)) Body=Body_$$$CRLF_"Line : "_$$$ErrorToLine($ZError) ; $$aelErrorToLine
Set:($L($G(%objlasterror))) Body=Body_$$$CRLF_"Object Last Error: "_$$ParseStatus^vhLib.System(%objlasterror)
Set Body=Body_$$$CRLF_"$ECode: "_$ECode
Set Body=Body_$$$CRLF_"Stack: "
For EST=1:1:$ESTACK Set Body=Body_$$$CRLF_" "_$STACK($STACK-EST,"PLACE")
Set Body=Body_$$$CRLF
Set Body=Body_$$$CRLF_"--- End of message ---"_$$$CRLF
Set Body=Body_$$$CRLF_..GetJobInfo(1,"")
Quit Body
]]>
1
blnMultiLine:%String,Indent:%String
%String
Niv:"_..Niveau_" Groep:"_..Groep_$S($L(..Actie):" Actie:"_..Actie,1:"")_$S($L(..Detail):" Detail:"_..Detail,1:"")_$S($L(..ProgLabel):" ProgLabel:"_..ProgLabel,1:""))
]]>
1
Dagen
TotDatum Do
. Kill $$$StorageGlobal(Datum)
*/
]]>
Analoog aan CleanOld, behalve de extra controle dat de global node geen subnodes meer bevat (blnCheckEmpty=1)
startH en StopH zijn inclusief, ze worden dus ook verwijderd uit de global.
1
StartH:%Integer,StopH:%Integer,blnCheckEmpty:%Boolean=1
StopH) Kill:($$$NoSubNodes($$$StorageGlobal(Datum))) $$$StorageGlobal(Datum)
Else Do
. For Set Datum=$O($$$StorageGlobal(Datum)) Quit:(Datum="") Quit:(Datum>StopH) Kill $$$StorageGlobal(Datum)
Quit
*/
]]>
1
%Library.CacheStorage
^vhLib.LoggingD
LoggingDefaultData
^vhLib.LoggingD
^vhLib.LoggingI
^vhLib.LoggingS
%%CLASSNAME
Actie
Detail
Groep
Namespace
Niveau
ProgLabel
Server
Tijd
JobID
RemoteIP
LessDetail
%Library.CacheStorage
^["LOG"]vhLib.LoggingD
LoggingDefaultData
^["LOG"]vhLib.LoggingD
^["LOG"]vhLib.LoggingI
^["LOG"]vhLib.LoggingS
%%CLASSNAME
Actie
Detail
Groep
Namespace
Niveau
ProgLabel
Server
Tijd
JobID