прок печать: журналов и процедуры вывода файл не заподлицо %поставить вывод в лог-файл


Я пытаюсь перенаправить вывод журнала и процедуры в один и тот же файл назначения для использования в интерактивном сеансе 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 2

1 ответ:

Это работает для меня.

Запуск sas с

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!;

Идет в журнал как можно скорее.