【问题标题】:SAS: Print to Log AND View Live Log Window SimultaneouslySAS:打印到日志并同时查看实时日志窗口
【发布时间】:2016-06-07 04:05:22
【问题描述】:

我知道PROC PRINTTO LOG="C:TEMP\SAS LOG.TXT" 会输出 SAS 程序日志的全部内容,但这也基本上在程序运行时将日志窗口留空,我无法查看 SAS 程序的“实时”进度,因此说话。

我想最终保存日志以供进一步审查,但我也想在运行测试等时密切关注正在发生的事情。 - 有没有办法打印日志和保持日志内容同时发生?

【问题讨论】:

  • 您使用的是什么类型的系统以及哪个 SAS 编辑器?
  • 我在 64 位 Windows 7 上运行 SAS 9.3 并使用标准 SAS 编辑器窗口进行编程——这能满足您的需求吗?如果我的语言不通,我深表歉意。
  • 没关系。简短的回答是否定的,SAS 只允许 1 个流用于日志。我认为您可以编写一个 IDE 宏来保存窗口的内容。所以运行你的程序,观察日志,完成后,热键保存。不是100%肯定,我现在不必弄清楚。就个人而言,在这些情况下,我将日志放入带有PRINTTO 的文件中,并在定期刷新的文本编辑器中观看。
  • 感谢@DomPazz 的洞察力,我想知道其他人在这种情况下会做什么。我会继续这样做——我不记得 Notepad++ 有一个刷新按钮,那你怎么做呢?
  • 另外,查看 ALTLOG 规范。我不确定如何调用它,但它似乎应该提供该功能。 support.sas.com/documentation/cdl/en/hostwin/63047/HTML/default/…

标签: logging printing window sas viewer


【解决方案1】:

如果您使用 Enterprise Guide 或任何 EBI 客户端,您可以在应用程序服务器上启用日志记录。这将为您提供日志的副本以及常规日志。但不适用于 Base SAS..

步骤:

  1. 导航到:[sasconfig]\Lev1\SASApp\WorkspaceServer
  2. 将 logconfig.xml 重命名为 logconfig.xml.orig
  3. 将 Logconfix.trace.xml 重命名为 logconfig.xml
  4. 重启对象生成器

编辑:如果您乐于接受顺序 - 而不是同时 - 日志记录,我建议您使用question 的答案中概述的方法(基本上读回外部日志文件并打印到会话日志)

【讨论】:

    【解决方案2】:

    我同意@Reeza 的建议尝试-altlog。不幸的是,在调用 SAS 时需要指定此选项。一种方法是在您的 SAS 配置文件中添加一行(我的位于 C:\Program Files\SASHome\SASFoundation\9.4\nls\en\sasv9.cfg):

    -altlog d:\junk\MySASaltlog.log
    

    每次启动 SAS 时,除了您的日志窗口之外,它还会写入 MySASaltlog.log。 MySASaltlog.log 会为每个会话覆盖。您必须跳过一些环节才能为每个会话生成单独的日志。

    我认为如果您可以在 SAS 会话期间在选项语句中指定 altlog 会很棒,例如:

    options altlog="d:\junk\MySASaltlog_%sysfunc(today(),yymmddn8)"; 
    

    如果您同意,请点赞/支持我提出此建议的 SAS 选票:https://communities.sas.com/t5/SASware-Ballot-Ideas/Allow-ALTLOG-to-be-specified-on-OPTIONS-statement/idi-p/219628

    PC SAS 的另一种方法是使用 DM 语句。提交以下语句会将当前日志窗口的内容复制到 MyLog_YYYYMDD.log:

    dm "log; file ""d:\junk\MyLog_%sysfunc(today(),yymmddn8).log"" replace;";
    

    您也可以将该命令分配给功能键。

    最后一个想法是质疑为什么要保存交互式 SAS 会话中的日志。大多数人使用交互式会话来开发代码。然后,当他们完成后,他们将批量提交程序以进行最终的生产运行。这具有从干净的 SAS 会话开始以及自动写入日志文件的好处。使用这种方法,从交互式会话中保存日志文件很少有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 2016-03-01
      相关资源
      最近更新 更多