我正在尝试将日志和过程输出重定向到相同的目标文件,以便在交互式sas会话中使用,以便我可以在此文件上使用tail -f
。
所以,我做了
proc printo print = "/home/tq84/sas.log"; run;
proc printo log = "/home/tq84/sas.log"; run;
我已将选项logparm
设置为write=immediate
。
如果我尝试使用%put text;
在日志中写入内容,则不会立即将其写入/home/tq84/sas.log
。
但是,当我执行一个简单的proc sql; quit;
时,先前缓冲的日志输出将被刷新为/home/tq84/sas.log
。
我正在寻找一个关于如何将日志和过程输出写入同一文件和的想法,以便在它们可用时立即刷新它们。
答案 0 :(得分:4)
这适合我。
使用
开始sasC:\temp>sas -logparm "write=immediate"
然后我发出:
proc printto print="c:\temp\test.log";
run;
proc printto log="c:\temp\test.log";
run;
我在Sublime Text中打开日志文件,在文件发生时刷新它。
然后提交:
%put HI THERE!;
在我发出PROC
语句之前,它不会输出到日志。 (假设数据步骤也可以。)
如果我重新启动会话并重新排序PRINTTO
proc printto log="c:\temp\test.log";
run;
proc printto print="c:\temp\test.log";
run;
然后
%put HI THERE!;
尽快进入日志。