pub trait Logger: Sync + Send {
// Required method
fn log(&self, level: LogLevel, message: String);
}
Expand description
Trait representing a logger that can log messages at various levels.
This trait should be implemented by any logger that wants to receive log messages.
It is exported via UniFFI
for use in foreign languages.
§Examples
Implementing the Logger
trait:
use walletkit_core::logger::{Logger, LogLevel};
struct MyLogger;
impl Logger for MyLogger {
fn log(&self, level: LogLevel, message: String) {
println!("[{:?}] {}", level, message);
}
}
§Swift
class WalletKitLoggerBridge: WalletKit.Logger {
static let shared = WalletKitLoggerBridge()
func log(level: WalletKit.LogLevel, message: String) {
Log.log(level.toCoreLevel(), message)
}
}
public func setupWalletKitLogger() {
WalletKit.setLogger(logger: WalletKitLoggerBridge.shared)
}
§In app delegate
setupWalletKitLogger() // Call this only once!!!