SAS日志输出到日志窗口和文本文件

Chr*_*ris 5 debugging sas

我正在使用SAS 9.3。默认情况下,日志输出进入日志窗口。可以使用以下方法将日志发送到文件:

proc printto
  log="C:\archive\mylog.log" new; 
run;
Run Code Online (Sandbox Code Playgroud)

...但是有人知道两者都有吗?即,日志将打印到SAS中的日志窗口以及写入文本文件?基本上是SAS的tee吗?

谢谢!

Joe*_*Joe 3

我之前在其他网站上见过这个问题,我相信答案大多是“否”,并提供了一系列解决方法和一个系统选项。

在 Unix/Linux 环境中,您可以打印到文件,但“尾随”该文件以获得不断更新的日志。

在 Windows 中,您可以打印到文件并在 Textpad、UltraEdit 或 Notepad++ 等工具中打开,然后要求它重新加载文件(大多数编辑器在意识到发生更改后会提示您)。

你也可以用另一种方式来做;您不能使用 printto 来记录日志,而是在程序完成后保存日志(通过在程序中要求它通过程序命令保存,或者通过将宏附加到运行命令来保存日志。) 此页面给出了一个示例尽管代码是为 SAS v6 编写的,因此可能需要进行大量修改。

最后,真正可以做到这一点的一种方法是使用altlog系统选项。然而,这仅在启动时或在配置文件中有效,因此很难针对每个项目进行自定义 - 但如果您的工作是可以为每个项目的生产运行拥有一个特殊的快捷方式,那么这可能是可行的。在快捷方式或配置文件中指定 ALTLOG 允许您将日志发送到屏幕之外的备用位置。请参阅这篇文章了解更多详细信息。