Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: XWBDLOG

XWBDLOG.m

Go to the documentation of this file.
  1. XWBDLOG ;ISF/RWF - Debug Logging for Broker ;12/08/2004 08:54
  1. ;;1.1;RPC BROKER;**35**;Mar 28, 1997
  1. Q
  1. ;
  1. ;Setup the log, Clear the log location.
  1. LOGSTART(RTN) ;Clear the debug log
  1. Q:'$G(XWBDEBUG)
  1. K ^XTMP("XWBLOG"_$J)
  1. S ^XTMP("XWBLOG"_$J,0)=$$HTFM^XLFDT($$HADD^XLFDT($H,7))_"^"_$$DT^XLFDT
  1. S ^XTMP("XWBLOG"_$J,.1)=0
  1. D LOG("Log start: "_$$HTE^XLFDT($H)),LOG(RTN)
  1. Q
  1. LOG(MSG) ;Record Debug Info
  1. Q:'$G(XWBDEBUG)
  1. N CNT
  1. S CNT=1+$G(^XTMP("XWBLOG"_$J,.1)),^(.1)=CNT,^(CNT)=$E($H_"^"_MSG,1,255)
  1. Q
  1. ;
  1. ;
  1. VIEW ;View log files
  1. N DIRUT,XWB,DIR,IX,X,CON
  1. D HOME^%ZIS
  1. W !,"Log Files"
  1. S XWB="XWBLOG",CON=""
  1. F S XWB=$O(^XTMP(XWB)) Q:XWB'["XWBLOG" D
  1. . D V1(.XWB)
  1. . I $$WAIT(.CON) S:CON=3 XWB="XWC"
  1. . Q
  1. Q
  1. ;
  1. V1(XWB) ;View one log
  1. N IX,X,CNT
  1. S IX=.9,X=$G(^XTMP(XWB,IX)),CON=0,CNT=+$G(^XTMP(XWB,.1))
  1. Q:CNT<1
  1. W !!,"Log from Job ",$E(XWB,7,99)," ",CNT," Lines"
  1. F S IX=$O(^XTMP(XWB,IX)) Q:'$L(IX) S X=^XTMP(XWB,IX) D VL1(IX,X)
  1. Q
  1. ;
  1. VL1(J,K) ;Write a line
  1. I $Y'<IOSL,$$WAIT(.CON) S IX="A" S:CON=3 XWB="XWC" Q
  1. Q:'$D(^XTMP(XWB,IX))
  1. N H,D,T,I
  1. S H=$P($$HTE^XLFDT($P(K,"^"),"2S"),"@",2)_" = "
  1. S D=$P(K,"^",2,99),K=D
  1. I D?.E1C.E D
  1. . S D=""
  1. . F I=1:1:$L(K) S T=$A(K,I),D=D_$S(T>31:$E(K,I),1:"\"_$E((1000+T),3,4))
  1. S T=$L(H)
  1. F W !,H,?T,$E(D,1,68) S H="",D=$E(D,69,999) Q:'$L(D)
  1. Q
  1. ;
  1. WAIT(CON) ;continue/kill/exit
  1. S DIR("?")="Enter RETURN to continue, Next for next log, Kill to remove log, Exit to quit log view."
  1. S DIR("A")="Return to continue, Next log, Exit: "
  1. S DIR(0)="SAB^1:Continue;2:Next;3:Exit;4:Kill",DIR("B")="Continue"
  1. D ^DIR
  1. S CON=+Y
  1. I Y=4 D K1(XWB,0) H 1
  1. I Y=1 W @IOF
  1. Q Y>1
  1. ;
  1. K1(REF,S) ;Kill one
  1. I REF["XWBLOG" K ^XTMP(REF)
  1. I 'S W !,"Log "_REF_" deleted."
  1. Q
  1. ;
  1. KILLALL ;KILL ALL LOG Entries
  1. N DIR,XWB
  1. S DIR(0)="Y",DIR("A")="Remove all XWB log entries",DIR("B")="No"
  1. D ^DIR Q:Y'=1
  1. S XWB="XWBLOG"
  1. F S XWB=$O(^XTMP(XWB)) Q:XWB'["XWBLOG" D K1(XWB,1)
  1. W !,"Done"
  1. Q