SwiftyBeaver is a logging framework for iOS, macOS and tvOS. Bugfender can be configured as a logging destination so that you can use it in combination with it.
Here is how you do it:
Install Bugfender normally using the instructions from the website. Then add to your SwiftyBeaver instance with:
let bugfender = BugfenderDestination()
log.addDestination(bugfender)
Create a BugfenderSwift.swift file in your project:
import Foundation
import SwiftyBeaver
import BugfenderSDK
public class BugfenderDestination: BaseDestination {
override public var defaultHashValue: Int { return 100 }
override public func send(_ level: SwiftyBeaver.Level, msg: String, thread: String, file: String, function: String, line: Int) -> String? {
var bfLogLevel: BFLogLevel {
switch(level) {
case .error:
return BFLogLevel.error
case .warning:
return BFLogLevel.warning
default:
return BFLogLevel.default
}
}
Bugfender.log(lineNumber: line, method: function, file: file, level: bfLogLevel, tag: thread, message: msg)
return super.send(level, msg: msg, thread: thread, file: file, function: function, line: line)
}
}
Remember to install Bugfender in your AppDelegate as explained in the instructions. You may as well want to disable console printing if you use the SwiftyBeaver console destination:
Bugfender.setPrintToConsole(false)