Introduction
Welcome to the documentation for AlamofireNetworkActivityLogger, a logging interceptor for Alamofire created by the community. This library provides a convenient way to log network activity, including request and response details, while using Alamofire in your iOS projects.
Features
- Logs the request URL, method, headers, and body
- Logs the response status code, headers, and body
- Supports multiple log levels: verbose, debug, info, warning, and error
- Can be easily integrated with existing Alamofire requests
Requirements
- iOS 10.0+
- Swift 5+
- Alamofire 5+
Installation
To install AlamofireNetworkActivityLogger, you have multiple options:
- CocoaPods: Add
pod 'AlamofireNetworkActivityLogger'
to your Podfile and runpod install
. - Swift Package Manager: Add
.package(url: "https://github.com/Alamofire/NetworkActivityLogger.git", from: "5.0.0")
to your Package.swift file or use the Xcode interface to add the package dependency. - Manual: Download the latest release from the GitHub repository and manually integrate it into your project.
Usage
To start logging network activity, follow these steps:
Step 1: Import the library
Add the following import statement to the file where you want to use AlamofireNetworkActivityLogger:
import AlamofireNetworkActivityLogger
Step 2: Enable logging
Add the following code snippet to enable network activity logging:
NetworkActivityLogger.shared.startLogging()
This will log all network activity with the default log level (verbose).
Customization
AlamofireNetworkActivityLogger provides several customization options to suit your needs:
Log levels
You can set the desired log level to control the verbosity of the logs. The available log levels are:
- .verbose: Logs all information (default)
- .debug: Logs requests and responses, excluding headers and bodies
- .info: Logs requests and responses summary
- .warning: Logs only requests that encountered errors
- .error: Logs only failed requests
To set a different log level, use the following code:
NetworkActivityLogger.shared.level = .debug
Output destination
By default, AlamofireNetworkActivityLogger logs to the console. However, you can also redirect the logs to a custom output destination, such as a file or a logger framework. To do so, implement a custom `LogOutput` conforming object and assign it as the `logOutput` property of `NetworkActivityLogger.shared`. Refer to the provided documentation for more information on this topic.
Disabling logging
If, at any point, you want to stop logging network activity, use the following code:
NetworkActivityLogger.shared.stopLogging()
Conclusion
Congratulations! You have successfully integrated and configured AlamofireNetworkActivityLogger in your project. Now, you can easily track and debug network activity within your Alamofire-based iOS applications.
References
- GitHub Repository: https://github.com/Alamofire/NetworkActivityLogger
- Alamofire Documentation: https://github.com/Alamofire/Alamofire