/// <summary> /// Audits a request for a given file's meta data (e.g. through <see cref="IFileSystemProvider.GetFileInfo"/>. /// Be aware that this might cause verbose audit trails. /// </summary> public static void AuditFileInfoRequest(this IAuditor auditor, FileSystemTask context, IVirtualFileItem file) { if (!auditor.IsInfoEnabledFor(context)) { return; } string msg = String.Format("File information requested:\n{0}", file.CreateResourceInfoString()); auditor.Audit(AuditLevel.Info, context, AuditEvent.FileInfoRequested, msg); }
/// <summary> /// Audits a request for a file resource that was not found on the file system. /// </summary> public static void AuditRequestedFileNotFound(this IAuditor auditor, IVirtualFileItem file, FileSystemTask task) { if (!auditor.IsWarnEnabledFor(task)) { return; } string msg = "Could not handle request for file [{0}] - the file was not found on the file system.\n\n{1}"; msg = String.Format(msg, file.ResourceInfo.Name, file.CreateResourceInfoString()); auditor.Audit(AuditLevel.Warning, task, AuditEvent.FileNotFound, msg); }
/// <summary> /// Audits a request for the file system's root folder. /// </summary> public static void AuditFileParentRequest(this IAuditor auditor, IVirtualFileItem childFile, IVirtualFolderItem parentFolder) { if (!auditor.IsInfoEnabledFor(FileSystemTask.FileParentRequest)) { return; } string msg = "Parent folder of file [{0}] was requested.\nSubmitted file:\n{1}\n\nParent folder:\n{2}"; msg = String.Format(msg, childFile.ResourceInfo.Name, childFile.CreateResourceInfoString(), parentFolder.CreateResourceInfoString()); auditor.Audit(AuditLevel.Info, FileSystemTask.FileParentRequest, AuditEvent.FolderInfoRequested, msg); }