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
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:
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.