diff --git a/AFNetworkActivityLogger/AFNetworkActivityConsoleLogger.m b/AFNetworkActivityLogger/AFNetworkActivityConsoleLogger.m index bcf922b..53d8e4d 100644 --- a/AFNetworkActivityLogger/AFNetworkActivityConsoleLogger.m +++ b/AFNetworkActivityLogger/AFNetworkActivityConsoleLogger.m @@ -74,9 +74,24 @@ - (void)URLSessionTaskDidFinish:(NSURLSessionTask *)task withResponseObject:(id) break; } } else { + id responseBody = responseObject; + + if(responseHeaderFields != nil && [responseObject isKindOfClass:[NSData class]]) { + id contentTypeObj = [responseHeaderFields objectForKey:@"Content-Type"]; + if([contentTypeObj isKindOfClass:[NSString class]]) { + NSString *contentType = contentTypeObj; + if([contentType containsString:@"application/json"] + || [contentType containsString:@"application/xml"] + || [contentType containsString:@"application/x-www-form-urlencoded"] + || [contentType containsString:@"text/html"]) { + responseBody = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]; + } + } + } + switch (self.level) { case AFLoggerLevelDebug: - NSLog(@"%ld '%@' [%.04f s]: %@ %@", (long)responseStatusCode, [[task.response URL] absoluteString], elapsedTime, responseHeaderFields, responseObject); + NSLog(@"%ld '%@' [%.04f s]: %@ %@", (long)responseStatusCode, [[task.response URL] absoluteString], elapsedTime, responseHeaderFields, responseBody); break; case AFLoggerLevelInfo: NSLog(@"%ld '%@' [%.04f s]", (long)responseStatusCode, [[task.response URL] absoluteString], elapsedTime);