Indeed the intent, though not expressed in the Objective-C declaration through the type system, is that the format string is a string literal.
However the intent of the Swift call described in the article is indeed that of a string literal with 2 data "parameters".
So is the correct use of NSLog in this case is this:
NSLog("%@", "Failed to get modification date at URL: \(url) - \(error)")
This should really be the behavior of NSLog in Swift, that it expands not to the variadic NSLog(format-string-parameter, objc-object-parameters..)
but to NSLog(@"%@", string-parameter)