我看到来自SAS存储进程( STP )的日志信息只有在完成STP后才会附加到.log文件中。我想通过跟踪STP日志文件来监视长时间运行的STP。有没有办法让SAS立即写入日志信息,而不是这种延迟行为?
示例:我启动了一个STP (stp_test.sas)并跟踪日志文件。最后一行请看:
2016-02-19T11:05:03,630 INFO [00000004] :sassrv - [00000003] STPXUTL Execute using file path: /SAS/SASHome/SASFoundation/9.4/sasstp/stp_test.sas只有在完成后(53秒后),我才会得到以下几行代码,特别是对我来说很重要的注释。
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发布于 2016-04-08 18:16:13
您可以将代码包装在proc printto中:
filename stplog temp;
proc printto log=stplog;run;
*your stp goes here;
proc printto;run;现在,日志将被写入存储的Process Server工作目录中的这个临时文件。我仍然会按照罗伯特的建议添加write=immediate。
发布于 2016-02-20 01:47:33
在logparm上尝试write=immediate选项。
我们在启动sas时将其指定为启动参数:
-logparm="write=immediate"但您也可以在运行时指定它。
https://stackoverflow.com/questions/35510012
复制相似问题