diff --git a/Sources/NextcloudFileProviderKit/Log/FileProviderLog.swift b/Sources/NextcloudFileProviderKit/Log/FileProviderLog.swift index cf7815f4..2fe1d70c 100644 --- a/Sources/NextcloudFileProviderKit/Log/FileProviderLog.swift +++ b/Sources/NextcloudFileProviderKit/Log/FileProviderLog.swift @@ -238,6 +238,8 @@ public actor FileProviderLog: FileProviderLogging { valueDescription = url.absoluteString case let text as String: valueDescription = text + case let request as NSFileProviderRequest: + valueDescription = "requestingExecutable: \(request.requestingExecutable?.path ?? "nil"), isFileViewerRequest: \(request.isFileViewerRequest), isSystemRequest: \(request.isSystemRequest)" default: valueDescription = String(describing: value) } diff --git a/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetail.swift b/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetail.swift index a05547b5..df51a746 100644 --- a/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetail.swift +++ b/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetail.swift @@ -135,7 +135,13 @@ public enum FileProviderLogDetail: Encodable { "trashbinFileName": .string(metadata.trashbinFileName), "uploaded": .bool(metadata.uploaded), "visitedDirectory": .bool(metadata.visitedDirectory) - + + ]) + } else if let request = someValue as? NSFileProviderRequest { + self = .dictionary([ + "requestingExecutable": .string(request.requestingExecutable?.path ?? "nil"), + "isFileViewerRequest": .bool(request.isFileViewerRequest), + "isSystemRequest": .bool(request.isSystemRequest) ]) } else if let lock = someValue as? NKLock { self = .dictionary([ diff --git a/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetailKey.swift b/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetailKey.swift index 2a974f0d..9bab1db9 100644 --- a/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetailKey.swift +++ b/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetailKey.swift @@ -42,6 +42,11 @@ public enum FileProviderLogDetailKey: String { /// case name + /// + /// An `NSFileProviderRequest`. + /// + case request + /// /// The last time item metadata was synchronized with the server. ///