slogger

Welcome to the Slogger documentation page!

What is Slogger?

Slogger is a comprehensive logging library for iOS and macOS applications. It offers a simple and intuitive way to log important messages, debug information, and errors during the development process.

Key Features

  • Flexible logging configurations
  • Ability to log to multiple destinations
  • Customizable log levels and filters
  • Support for various log formats (plain text, JSON, etc.)
  • Integration with external logging services

Installation

To install Slogger in your iOS or macOS project, follow the steps below:

Using CocoaPods

If you haven’t already, install CocoaPods by running the following command in your terminal:

sudo gem install cocoapods

Add Slogger as a dependency in your Podfile:

pod 'Slogger'

Run the following command to install the Slogger pod:

pod install

Manual Installation

If you prefer not to use CocoaPods, you can manually add the Slogger framework to your Xcode project:

  1. Download the latest release of Slogger from the official GitHub repository.
  2. Drag and drop the Slogger.framework folder into your Xcode project.
  3. Make sure to select “Copy items if needed” when prompted.
  4. In your project’s Build Settings, navigate to “Other Linker Flags” and add -ObjC as a flag.

Getting Started

Follow the steps below to start using Slogger in your iOS or macOS application:

Importing the Framework

Open your application’s main source file (e.g., AppDelegate.swift or AppDelegate.m) and import the Slogger framework:

#import <Slogger/Slogger.h>

Initializing Slogger

In your application delegate (e.g., AppDelegate.swift or AppDelegate.m), initialize the Slogger logger:

Slogger *logger = [Slogger sharedLogger];

Logging Messages

Slogger provides different logging methods based on the log level and destination you want to use. Here’s an example:

[logger log:@"This is a log message" level:SloggerLogLevelInfo destination:SloggerDestinationConsole];

Make sure to replace the log message, log level, and destination according to your requirements.

Configuration

Slogger offers various configuration options to customize its behavior:

Log Levels

Slogger supports different log levels, allowing you to filter messages based on their importance. The available log levels are:

  1. Error: Messages representing error conditions or failures.
  2. Warning: Messages representing potential issues or non-critical errors.
  3. Info: Informative messages used for general logging.
  4. Debug: Detailed messages used for debugging purposes.
  5. Verbose: Very detailed messages used for extensive debugging.

To set the log level, use the following method:

[logger setLogLevel:SloggerLogLevelDebug];

Destination Configuration

Slogger allows logging to multiple destinations simultaneously. The available destinations are:

  1. Console: Directly logs messages to the console output.
  2. File: Logs messages to a file on the device’s file system.
  3. Custom: Allows integration with external logging services. See the documentation for advanced configuration.

To configure the destinations, use the following methods:

[logger enableDestination:SloggerDestinationConsole];
[logger enableDestination:SloggerDestinationFile];

Usage Examples

Logging to Console

To log a message to the console, use this syntax:

[logger log:@"This is a console log message" level:SloggerLogLevelInfo destination:SloggerDestinationConsole];

Logging to File

To log a message to a file, use this syntax:

[logger log:@"This is a file log message" level:SloggerLogLevelInfo destination:SloggerDestinationFile];

Logging Network Requests

If you want to log network requests, you can use Slogger in conjunction with other networking libraries such as AFNetworking or URLSession. Here’s an example:

NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
    if (error) {
        [logger log:[NSString stringWithFormat:@"Failed request: %@", error.localizedDescription] level:SloggerLogLevelError destination:SloggerDestinationConsole];
    } else {
        [logger log:[NSString stringWithFormat:@"Successful request: %@", ((NSHTTPURLResponse *)response).statusCode] level:SloggerLogLevelInfo destination:SloggerDestinationFile];
    }
}];

Troubleshooting

Logging Does Not Appear

If you’re not seeing the logs, ensure that:

  • The log level is correctly set to capture the desired messages.
  • The destinations are properly configured and enabled.
  • The console output is visible or the log file location is accessible.

Errors during Installation

If you encounter any issues during the installation process, please check the following:

  • Make sure CocoaPods is properly installed and up to date.
  • Ensure that you have selected the correct target when adding the Slogger framework to your project.
  • If manually adding the framework, double-check that you have added the -ObjC flag in your project’s Build Settings.

If you’re still experiencing problems, refer to the official Slogger documentation or reach out to the development team for assistance.

Conclusion

Slogger is a powerful logging library that simplifies and enhances the logging process in iOS and macOS applications. It offers comprehensive configuration options and supports various log destinations, providing developers with valuable insights during the development and debugging phases. By following the installation and usage instructions provided in this documentation, you can integrate Slogger seamlessly into your projects and leverage its features to improve the quality and stability of your applications.