Sunday, November 15, 2020

New Location for CheckLog Updates

Google Sites is upgrading, and it is now more difficult to host code on the platform. As a result, I've decided to switch to GitHub.

Chris's SAS Macro Programs

https://github.com/chris-swenson/sasmacros

Macro Program Documentation

https://github.com/chris-swenson/sasmacros/wiki

CheckLog Documentation

https://github.com/chris-swenson/sasmacros/wiki/CheckLog-Introduction

This blog is being set up so I can continue to send out updates via Feedburner. GitHub does not create an RSS feed for specific code updates, so I'll be using this blog for updates instead.

Please let me know if you have any questions, concerns, or feedback!

CheckLog Update History

Here are the past updates for CheckLog from the old Google Sites page:

Update to CheckLog: Email Headers and New Phrase

posted Sep 28, 2017, 4:29 PM by Chris S.

A new version of the CheckLog macro is available for download.

In this version, I made a minor correction to a SYSFUNC call with a blank value that could cause issues. I also added the capability to use a header on emails in UNIX-like environments, tested with 'mail' and 'sendmail' commands.

Thanks to a user, I included a new phrase regarding conversion of numeric / character values during PROC TRANSPOSE.

Update to CheckLog: New Data Set during Directory Review

posted Feb 16, 2016, 5:08 PM by Chris S.

A new version of the CheckLog macro is available for download.

In this version, I made a few minor changes, especially regarding how the program works on the command line.

This version also adds a new output data set when reviewing multiple logs in a directory, which includes all of the issues identified (instead of just the last log).

Update to CheckLog: Unix/Linux Improvements

posted Aug 28, 2014, 11:37 AM by Chris S.

A new version of the CheckLog macro is available for download.

In this version, I made a few minor improvements for Unix/Linux environments, including some additional arguments to tweak how the macro runs in batch mode. The new arguments are:

* PRINT= - Print the identified issues to the output, defaulted to No
* LOGDEF= - The setting for PROC PRINTTO log= when CheckLog turns the log back on, defaulted to LOG, which is the "default"

Update to CheckLog: Outside Axis Range

posted May 22, 2012, 11:30 AM by Chris S.

A new version of the CheckLog macro is available for download.

In this version, several minor edits were completed including the addition of data set labels, adding documentation, and moving some local variable declarations. Additionally, the deletion of the Log_summary data set was removed.

More importantly, I was informed that the statement, "outside the axis range", is indeed an issue, indicating that data was not graphed due to limitations in the graph's axis, typically leading to a misleading graph. Thanks to user Quentin for identifying and demonstrating this issue. I have added his example to the Examples page.

Update to CheckLog

posted Apr 3, 2012, 10:22 AM by Chris S. 

A new version of the CheckLog macro is available for download.

In this version, there were several changes and a new argument added. First, I identified an issue with long filenames and fixed it by switching from PROC PRINTTO to a data set.

Second, I added the capability to search subdirectories for logs using the DirList macro program. I had originally used DirList to do any listing, but in order to support other operating systems, I removed it. So unfortunately the capability to search subdirectories is limited to Microsoft Windows. Along with this feature came a new argument, SUBDIR=, which is a Y/N flag to indicate whether to search subdirectories, defaulted to N.

Next, I converted the DM POSTMESSAGE statements to the MessageBox API for Windows users. This helps CheckLog run better when used in Enterprise Guide. Speaking of Enterprise Guide, there are some limitations with CheckLog when used in EG, which I documented further on a new page.

Lastly, I added an exclusion for the warning received when opening multiple SAS sessions without locking the user profile. This is really a false positive most of the time, and it's not necessary to alert the user or halt a program if it occurs.