proc printto: вывод журнала и процедуры в один и тот же файл не сбрасывает% помещает вывод в файл журнала
Я пытаюсь перенаправить вывод журнала и процедуры в один и тот же файл назначения для использования в интерактивном сеансе 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
,
Я ищу идею о том, как записать вывод журнала и процедуры в один и тот же файл и сразу же сбросить их, когда они будут доступны.
1 ответ
Это работает для меня.
Начиная с с
C:\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!;
Идет в журнал как можно скорее.