How to have sas log in both external location and sas enterprise guide

前端 未结 1 501
野性不改
野性不改 2021-01-15 05:01

I am using sas eg 5.1 version. right now I am routing my log details to an external file(text document) for record keeping. But while developing a code, I want the error log

相关标签:
1条回答
  • 2021-01-15 05:38

    There is no 'in session' programmable option to write the log to multiple destinations. However a decent 'hack' is to simply read your external log and write out to your session log as follows:

    /* write to external log */
    filename tmp "C:\temp\mylog.txt";
    proc printto log=tmp; run;
    
    /* now run your SAS code */
    %put NOTE: processing lots of juicy SAS statements;
    
    /* once done, return to normal logging */
    proc printto log=log; run; 
    
    /* print previous log to current session */
    data _null_;
      infile tmp;
      input; list;
    run;
    
    /* close filename */
    filename tmp clear;
    

    To ensure you always write the log out / get it back, you could even split the above into the following locations:

    Other options:

    An admin can enable logging on the application (workspace) server. This will capture all logs, from all users - which does have performance and storage implications! Steps as follows:

    • Navigate to: [sasconfig]\Lev1\SASApp\WorkspaceServer
    • Rename logconfig.xml to logconfig.xml.orig
    • Rename Logconfix.trace.xml to logconfig.xml
    • Restart the object spawner

    Another approach, as proposed by @Quentin / @Reeza in this (very similar) question, is to use the -altlog option at SAS invocation.

    Finally, if it suits, you could look at enabling the EG project log.

    0 讨论(0)
提交回复
热议问题