EWLOG ;E'WMS logging [ 05/01/2003 10:52 PM ] ERROR(sExec) Do PUT("E",sExec) Quit INFO(sExec) Do PUT("I",sExec) Quit DEBUG(sExec) Quit:'^EWLOG("DEBUG") Do PUT("D",sExec) Quit EXEC ;Trap bij het uitvoeren van de execute Set sTxt=$ZE_" (sExec value: "_sExec_")" Quit PUT(sType,sExec) New sPlace,sVolgNr,sTxt Set sPlace=$STACK($STACK-2,"PLACE") Set sVolgNr=$O(^EWLOG(+$H,""),-1)+1 Do .Set $ZTRAP="EXEC^EWLOG" .X "Set sTxt="_$P(sExec,";",2,99) Set ^EWLOG(+$H,sVolgNr)=sType_"`"_$E($P($H,",",2)_"`"_sPlace_"`"_sTxt,1,500) Set:(sType="E")&&($D(C)) C("ERROR")=sTxt If ^EWLOG("DEBUG") Do .New sMCode .Use 0 .Set sMCode=$STACK($STACK-3,"MCODE") .Write *7,!,sPlace," -> ",sMCode,!,sTxt,! Quit ; Verwijderen van oude logging CLEAN(Dagen) Set:'$G(Dagen) Dagen=356 Set Dat="" For Set Dat=$O(^EWLOG(Dat)) Quit:Dat=""!(Dat>($H-Dagen)) Kill ^EWLOG(Dat) Quit MAIL(Datum,Key1,Key2,Key3,UserIds) New VolgNr,Txt,Keys Set Txt=0 Set Datum=+$G(Datum,$H) Set VolgNr="" For Set VolgNr=$O(^EWLOG(Datum,VolgNr)) Quit:VolgNr="" Do .Set Rec=^EWLOG(Datum,VolgNr) .If $L($G(Key1)) Quit:Rec'[Key1 .If $L($G(Key2)) Quit:Rec'[Key2 .If $L($G(Key3)) Quit:Rec'[Key3 .Set Txt=Txt+1,Txt(Txt)=$P(Rec,"`",4)_"~" Quit:Txt=0 Set Keys="Keys:"_$$EXTDATE^vhDTyp(Datum,"DK") If $L($G(Key1)) Set Keys=Keys_";"_Key1 If $L($G(Key2)) Set Keys=Keys_";"_Key2 If $L($G(Key3)) Set Keys=Keys_";"_Key3 Set MailId=$$SYSTEM^vhMAIL("","ERROR LOG",Keys,UserIds,.Txt,,"U","A") Quit ;