Hi All,
We are testing the audit logging on which dataset is been accessed under a defined library,
to achieve this we have enabled the Audit.Data.Dataset logging in the workspace server config logconfig.apm.xml with the following entries
<!-- Audit.Data.Dataset.Open logger definition -->
<appender name="AuditLibraryFile" class="FileAppender">
<param name="Append" value="true"/>
<param name="ImmediateFlush" value="true"/>
<param name="fileNamePattern" value="/sascommon/SAS/SASConfig/Grid1/Lev1/SASApp/WorkspaceServer/Logs/Audit.Library_server_%d_%S{hostname}_%S{pid}.log"/>
<layout>
<param name="ConversionPattern"
value="DateTime=%d Userid=%u Action=%E{Audit.Dataset.Action} Status=%E{Audit.Dataset.Status} Libref=%E{Audit.Dataset.Libref} Engine=%E{Audit.Dataset.Engine} Member=%E{Audit.Dataset.Member} NewMember=%E{Audit.Dataset.NewMember} MemberType=%E{Audit.Dataset.Memtype} Openmode=%E{Audit.Dataset.Openmode} Path=%E{Audit.Dataset.Path} Sysrc=%E{Audit.Dataset.Sysrc} Sysmsg=%E{Audit.Dataset.Sysmsg}"/>
</layout>
</appender>
<!-- Audit.Data.Dataset.Open logger definition -->
<logger name="Audit.Data.Dataset.Open" additivity="false">
<level value="Trace"/>
<appender-ref ref="AuditLibraryFile"/>
</logger>
We are able to get the log entries as below
DateTime=2020-03-18T10:49:00,558 Userid=kkxm303 Action=OPEN Status=SUCCESS, Libref=SASHELP Engine=V9, Member=ZIPMIL NewMember=, MemberType=DATA Openmode=INPUT, Path=/sascommon/SAS/SASHome/SASFoundation/9.4/sashelp Sysrc=0, Sysmsg=
But the problem is whenever we tried to call a dataset from a library for the first time , all the datasets under the library is being entered as open.
for example
if we type in and run a simple statement like "proc print data=sashelp.cars;run;"
we would get all the sashelp library datasets are logged in the log file as opened.
We are not sure what is the cause on this.Can any one suggest a solution.
We require to have only one log entry for the sashelp library member cars.