我使用的是Enterprise Guide 4.2(没有选择)。
我正在使用PROC APPEND将大约80k +观察结果附加到SQL Server表中。我认为数据格式存在一些问题(例如变量长度不匹配),但它执行得很好,表格也会更新。然后,企业指南给了我以下消息:
Log(af771r01(处理流程))的内容太大而无法显示。窗口将关闭,但内容将保留在项目中。
我能够通过将日志重定向到虚拟文件来成功禁用日志:
** The Append Proc below outputs 80k+ lines (in theory) to the log, crashing EG 4.2;
** This statement will temporarily disable logging;
FILENAME JUNK DUMMY;
PROC PRINTTO
LOG=JUNK;
RUN;
** ========================================================
** Archive Summarized Enrollment Data
** ========================================================;
PROC APPEND BASE = Archive.MnthlyMbrCmpArch (
SASDATEFMT=(SYS_SRC_LOAD_DT='mmddyy10.')
)
DATA = Work.R1_MBR_ENRL_ARCHIVE;
RUN;
** Reenable logging;
PROC PRINTTO;
RUN;
这可以防止EG崩溃,但是我丢失了所有的警告和错误消息。我正在尝试调试语句,所以我想要警告和错误,我只是不想要一个泛滥的日志。
有没有办法在不完全关闭日志的情况下部分禁用日志记录?或者有没有办法将日志重定向到文件,以便EG在尝试不打开时不会崩溃?
我是SAS的新手,即使他们没有直接回答这个问题,我也愿意接受任何建议。
答案 0 :(得分:1)
是的,您可以通过在FILENAME
语句中指定路径来重定向日志到文件(而不是说DUMMY
,这是指不存在的文件):
FILENAME JUNK 'path/file-name.log';
当然,您必须拥有指定位置的“写入”权限。
答案 1 :(得分:1)
您可以使用以下方法从日志中抑制大量信息:
options nonotes nonotes2;
和/或:
options nomprint nomlogic nosymbolgen nomacrogen; /* IF CODE CONTAINS MACROS */
错误仍会打印到屏幕上,但除非您重新打开日志记录,否则几乎没有信息可以调试它们。
某些SAS文档:http://support.sas.com/documentation/cdl/en/basess/58133/HTML/default/viewer.htm#a001906177.htm