FlutterXLogPlugin.swift
1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import Flutter
import UIKit
public class FlutterXLogPlugin: NSObject, FlutterPlugin {
var bridge = XLogBridge();
public static func register(with registrar: FlutterPluginRegistrar) {
let channel = FlutterMethodChannel(name: "flutter_xlog", binaryMessenger: registrar.messenger())
let instance = FlutterXLogPlugin()
registrar.addMethodCallDelegate(instance, channel: channel)
}
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
switch call.method {
case "open":
let params = call.arguments as! [String:Any];
let level = params["level"] as! UInt;
let cacheDir = params["cacheDir"] as! String;
let logDir = params["logDir"] as! String;
let namePrefix = params["namePrefix"] as! String;
let cacheDays = params["cacheDays"] as! UInt;
let consoleLogOpen = params["consoleLogOpen"] as! Bool;
let pubKey = params["pubKey"] as! String;
bridge.open(level, cacheDir: cacheDir, logDir: logDir, prefix: namePrefix, cacheDays: cacheDays, pubKey: pubKey, consoleLogOpen: consoleLogOpen);
result(nil);
case "flush":
bridge.flush();
result(nil);
case "close":
bridge.close();
result(nil);
default:
result(FlutterMethodNotImplemented)
}
}
}