Search code examples
macoscocoamacos-carbon

How to get the user's logs folder in cocoa (NSSearchPathForDirectoriesInDomains possibly)


I'm porting a Carbon application to Cocoa and am looking for the equivalent of kLogsFolderType in Cocoa, which currently would return /Users/me/Library/Logs

I have seen NSSearchPathForDirectoriesInDomains with the associated types, but can't find a value that would be an equivalent.


Solution

  • There is no NSSearchPathDirectory option for ~/Library/Logs in Apple's docs, so you have to use NSLibraryDirectory and build the rest up yourself:

    NSArray *URLs = [[NSFileManager defaultManager] URLsForDirectory:NSLibraryDirectory 
                                                           inDomains:NSUserDomainMask];
    NSURL *logsURL = [[URLs lastObject] URLByAppendingPathComponent:@"Logs"];
    NSString *logsPath = [libraryURL path];