ffi_log

Flutter 的同步日志组件实现,由 DartNative 提供。

支持的平台

iOS 和 Android

用法

Dart 代码

// init log
FFILog.init();

// log message
FFILog.debug("MyApp", "log debug");
FFILog.info("MyApp", "log info");
FFILog.warn("MyApp", "log warn");
FFILog.error("MyApp", "log error", stackTrace: StackTrace.current);

Objective-C 代码

// implementation FFILogDelegate
@interface LogImpl() <FFILogDelegate>
@end

@implementation LogImpl
- (int)getLogLevel {
    return FFILogLevelAll;
}

- (void)printLog:(int)level tag:(NSString *)tag content:(NSString *)content {
    // native logger
    NSLog(@"native log|%zd|%@|%@", level, tag, content);
}
@end

// set implementation
[FFILog sharedInstance].delegate = [[LogImpl alloc] init];

Java 代码

// set FFILog.ILog implementation
FFILog.setLog(new FFILog.ILog() {
    @Override
    public void printLog(int level, String tag, String content) {
        switch (level) {
            case FFILog.ILog.ERROR:
                Log.e(tag, content);
                break;
            case FFILog.ILog.WARN:
                Log.w(tag, content);
                break;
            case FFILog.ILog.INFO:
                Log.i(tag, content);
                break;
            case FFILog.ILog.DEBUG:
                Log.d(tag, content);
                break;
            default:
                break;
        }
    }

    @Override
    public int getLogLevel() {
        return FFILog.ILog.ALL;
    }

    // If dartnative so path is custom, return so path.
    // Otherwise return null.
    @Override
    public String getCustomDartNativePath() {
        return null;
    }
});

许可证

ffi_log 遵循 BSD 3 条款许可证。请参阅 LICENSE 文件了解更多信息。

GitHub

查看 Github