Your SAS programs, embedded in web apps and elsewhere

SAS 9.4 Stored Process Log file monitoring

Reply
New Contributor
Posts: 2

SAS 9.4 Stored Process Log file monitoring

I am seeing that the log information from a SAS Stored Process (STP) is appended to the .log file only upon completion of the STP. I want to monitor long running STPs by tailing the STP log file. Is there a way to get SAS to write the log information immediately instead of this delayed behavior?

 

Example: I kick off an STP (stp_test.sas) and tail the log file. The last line see is:

2016-02-19T11:05:03,630 INFO  [00000004] :sassrv - [00000003] STPXUTL Execute using file path:  /SAS/SASHome/SASFoundation/9.4/sasstp/stp_test.sas

Only upon completion (53 seconds later) I get the following next lines including specifically the NOTES that are important to me. 

2016-02-19T11:05:56,634 INFO  [00079501] 8:sasmi - STP: 3: Execution Complete.  Status=4
2016-02-19T11:05:56,678 INFO  [00079501] 8:sasmi - NOTE: %INCLUDE (level 1) file /SAS/SASHome/SASFoundation/9.4/sasstp/stp_test.sas is file /SAS/SASHome/SASFoundation/9.4/sasstp/stp_test.sas.
2016-02-19T11:05:56,679 INFO  [00079501] 8:sasmi - NOTE: PROCEDURE SQL used (Total process time):
2016-02-19T11:05:56,679 INFO  [00079501] 8:sasmi -       real time           0.00 seconds
2016-02-19T11:05:56,679 INFO  [00079501] 8:sasmi -       cpu time            0.01 seconds

 

Trusted Advisor
Posts: 1,326

Re: SAS 9.4 Stored Process Log file monitoring

Posted in reply to burkheart

Hi,

Maybe I am not the most appropriate person to answer your question, but let me give it a try:

 

If you need additional details on the log, maybe you would like to increase your log level to debug (and/or enable the macro debug options on the code).

 

Still, this might add too much information on your logs and not the information you expect, because SAS only writes to the log when a procedure is finished or with explicit statements in your code.

 

Said this, and as common programming procedure, what I would really advise you is to include those explicit statements (eg %put statements) to write extra lined on your log or a different log file, if you will

Super Contributor
Posts: 441

Re: SAS 9.4 Stored Process Log file monitoring

[ Edited ]
Posted in reply to burkheart

The stored process server logging is controled by the log4sas facility. The file that allows you to control this is most likely logconfig.xml (but could be different, under control of the logconfigloc SAS invocation option).

 

There is one parameter that may help you achieve what you want. Add this to logconfig.xml file:

<param name="ImmediateFlush" value="TRUE"/>

Maybe also the SAS option UNBUFLOG will help but I am uncertain how well that plays with log4sas. Seems worth a try. You will not get log lines any faster than that.

 

Be aware of possible trade-offs like additional processing and I/O overhead.

 

Hope this helps.

New Contributor
Posts: 2

Re: SAS 9.4 Stored Process Log file monitoring

[ Edited ]
Posted in reply to jklaverstijn

Thanks jklaverstijn for the suggestion. This sounds promising I will try that. In case it does not work I have decorated all STPs to proc printto a unique file name. 

Super User
Posts: 5,438

Re: SAS 9.4 Stored Process Log file monitoring

Posted in reply to burkheart
Why do you want to monitor it during execution? There's probably nothing you can do anyway until it ends...?
Data never sleeps
Ask a Question
Discussion stats
  • 4 replies
  • 491 views
  • 1 like
  • 4 in conversation