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

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

Другие вопросы по тегам