您可以写入sas日志以指示当前脚本的位置,例如行号吗?

时间:2017-10-12 19:23:39

标签: sas

我希望在脚本中更新日志,以便我知道程序已经完成了多少。我知道'put'命令,但在我收到我的通知为“退出2”,“退出1”或“完成”之后,这似乎只适用于最终打印的'.log'文件。

1 个答案:

答案 0 :(得分:3)

在批处理模式下,日志将在进程运行时写入。有一种缓冲机制意味着你不能完美地实时跟踪,但对于大型工作来说它是接近的。假设(基于您的命令)您使用的是Unix / Linix系统:

tail -f blah.log

将在写入终端时输出日志。

正如Reeza在评论中提到的,您的另一个选择是在运行期间写入单独的文件。

filename status "~/status.log";

data _null_;
file status ;
now = datetime();
put "Start at " now datetime.;
run;

<other stuff>

data _null_;
file status mod;
now = datetime();
put "I'm here at at " now datetime.;
run;

...

然后,您可以使用相同的tail -f ~/status.log命令来关注该文件,并查看处理过程的位置。