Hello,
when using the code below, can we get the information regarding the log owner (function mopen) even while the log is still being written ?
Thanks
%let logs_folder=; %let logs_from_dt=; %macro logs_get_files(logs_folder=, logs_from_dt=); data LOGS_FILES(keep=folder file_name file_size created_dttm owner); length Folder $200 File_Name $100 File_Size Created_DTTM 8; rc=filename('_dir_',"&logs_folder",'','encoding="utf-8"'); did=dopen('_dir_'); if (did lt 1) then do; put "ERR" "OR: Unable to open &logs_folder as a directory."; stop; end; do i=1 to dnum(did); folder="&logs_folder"; file_name = scan(dread(did,i), -1, '\/'); File attributes; fid=mopen(did,file_name); type=ifc(fid > 0,'F','D'); if (type='F') then do; ext = lowcase(scan(file_name,-1,'.')); if ext='log' then do; file_size = input(finfo(fid,'File Size (bytes)'),32.); created_dttm = input(finfo(fid,'Create Time'),NLDATM30.); owner= strip(finfo(fid,'Owner Name')); if datepart(created_dttm)>="&logs_from_dt"d then ;output; end; end; fid=fclose(fid); end; did=dclose(did); rc=filename('_dir_',''); format File_Size comma32. Created_DTTM datetime22.; run; %mend; %logs_get_files(logs_folder=/sas/logs/, logs_from_dt=13NOV2022);
... View more