#logging #mobile #actors #setup #stage #ready #devices


Easy setup logging on FFI libs for mobile devices

1 unstable release

0.1.0 Apr 4, 2020




Easy setup logging on FFI libs for mobile devices

camarim: (pt-br) Backstage room on the theater where actors get ready to show up on stage

This crate let you easilly get logging available for FFI libraries, specially when targeting Android and iOS devices.


Add the library as an optional dependency

You can use the library as an optional dependency, to use only during debug. On Cargo.toml add:

version = '0.1.0'
optional = true

logs = ['camarim']

Add the library on the root of the FFI crate

#[cfg(feature = "logs")]

Build your library with the feature enabled

cross build --features logs --target x86_64-linux-android

Call the setup to intialize the logger

On the FFI side, use the camarim_setup_logger function to setup the logging.

For example, in Dart:

import 'dart:ffi' as ffi;

final ffi.DynamicLibrary _myLib = Platform.isAndroid
    ? ffi.DynamicLibrary.open("libmylib.so")
    : ffi.DynamicLibrary.process();

/// Find `camarim_setup_logger` to call it during your app startup
final startLogger =
    _sledNative.lookupFunction<ffi.Void Function(), void Function()>(

/// ... declare the your crate exposed functions


  • WASM and Browser logging?
  • Provide ways to customize log level?

Relevant issues