| 1 | XWBDLOG ;ISF/RWF - Debug Logging for Broker ;12/08/2004  08:54
 | 
|---|
| 2 |  ;;1.1;RPC BROKER;**35**;Mar 28, 1997
 | 
|---|
| 3 |  Q
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ;Setup the log, Clear the log location.
 | 
|---|
| 6 | LOGSTART(RTN) ;Clear the debug log
 | 
|---|
| 7 |  Q:'$G(XWBDEBUG)
 | 
|---|
| 8 |  K ^XTMP("XWBLOG"_$J)
 | 
|---|
| 9 |  S ^XTMP("XWBLOG"_$J,0)=$$HTFM^XLFDT($$HADD^XLFDT($H,7))_"^"_$$DT^XLFDT
 | 
|---|
| 10 |  S ^XTMP("XWBLOG"_$J,.1)=0
 | 
|---|
| 11 |  D LOG("Log start: "_$$HTE^XLFDT($H)),LOG(RTN)
 | 
|---|
| 12 |  Q
 | 
|---|
| 13 | LOG(MSG) ;Record Debug Info
 | 
|---|
| 14 |  Q:'$G(XWBDEBUG)
 | 
|---|
| 15 |  N CNT
 | 
|---|
| 16 |  S CNT=1+$G(^XTMP("XWBLOG"_$J,.1)),^(.1)=CNT,^(CNT)=$E($H_"^"_MSG,1,255)
 | 
|---|
| 17 |  Q
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 | VIEW ;View log files
 | 
|---|
| 21 |  N DIRUT,XWB,DIR,IX,X,CON
 | 
|---|
| 22 |  D HOME^%ZIS
 | 
|---|
| 23 |  W !,"Log Files"
 | 
|---|
| 24 |  S XWB="XWBLOG",CON=""
 | 
|---|
| 25 |  F  S XWB=$O(^XTMP(XWB)) Q:XWB'["XWBLOG"  D
 | 
|---|
| 26 |  . D V1(.XWB)
 | 
|---|
| 27 |  . I $$WAIT(.CON) S:CON=3 XWB="XWC"
 | 
|---|
| 28 |  . Q
 | 
|---|
| 29 |  Q
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 | V1(XWB) ;View one log
 | 
|---|
| 32 |  N IX,X,CNT
 | 
|---|
| 33 |  S IX=.9,X=$G(^XTMP(XWB,IX)),CON=0,CNT=+$G(^XTMP(XWB,.1))
 | 
|---|
| 34 |  Q:CNT<1
 | 
|---|
| 35 |  W !!,"Log from Job ",$E(XWB,7,99)," ",CNT," Lines"
 | 
|---|
| 36 |  F  S IX=$O(^XTMP(XWB,IX)) Q:'$L(IX)  S X=^XTMP(XWB,IX) D VL1(IX,X)
 | 
|---|
| 37 |  Q
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 | VL1(J,K) ;Write a line
 | 
|---|
| 40 |  I $Y'<IOSL,$$WAIT(.CON) S IX="A" S:CON=3 XWB="XWC" Q
 | 
|---|
| 41 |  Q:'$D(^XTMP(XWB,IX))
 | 
|---|
| 42 |  N H,D,T,I
 | 
|---|
| 43 |  S H=$P($$HTE^XLFDT($P(K,"^"),"2S"),"@",2)_" = "
 | 
|---|
| 44 |  S D=$P(K,"^",2,99),K=D
 | 
|---|
| 45 |  I D?.E1C.E D
 | 
|---|
| 46 |  . S D=""
 | 
|---|
| 47 |  . 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))
 | 
|---|
| 48 |  S T=$L(H)
 | 
|---|
| 49 |  F  W !,H,?T,$E(D,1,68) S H="",D=$E(D,69,999) Q:'$L(D)
 | 
|---|
| 50 |  Q
 | 
|---|
| 51 |  ;
 | 
|---|
| 52 | WAIT(CON) ;continue/kill/exit
 | 
|---|
| 53 |  S DIR("?")="Enter RETURN to continue, Next for next log, Kill to remove log, Exit to quit log view."
 | 
|---|
| 54 |  S DIR("A")="Return to continue, Next log, Exit: "
 | 
|---|
| 55 |  S DIR(0)="SAB^1:Continue;2:Next;3:Exit;4:Kill",DIR("B")="Continue"
 | 
|---|
| 56 |  D ^DIR
 | 
|---|
| 57 |  S CON=+Y
 | 
|---|
| 58 |  I Y=4 D K1(XWB,0) H 1
 | 
|---|
| 59 |  I Y=1 W @IOF
 | 
|---|
| 60 |  Q Y>1
 | 
|---|
| 61 |  ;
 | 
|---|
| 62 | K1(REF,S) ;Kill one
 | 
|---|
| 63 |  I REF["XWBLOG" K ^XTMP(REF)
 | 
|---|
| 64 |  I 'S W !,"Log "_REF_" deleted."
 | 
|---|
| 65 |  Q
 | 
|---|
| 66 |  ;
 | 
|---|
| 67 | KILLALL ;KILL ALL LOG Entries
 | 
|---|
| 68 |  N DIR,XWB
 | 
|---|
| 69 |  S DIR(0)="Y",DIR("A")="Remove all XWB log entries",DIR("B")="No"
 | 
|---|
| 70 |  D ^DIR Q:Y'=1
 | 
|---|
| 71 |  S XWB="XWBLOG"
 | 
|---|
| 72 |  F  S XWB=$O(^XTMP(XWB)) Q:XWB'["XWBLOG"  D K1(XWB,1)
 | 
|---|
| 73 |  W !,"Done"
 | 
|---|
| 74 |  Q
 | 
|---|