A simple Rust library for Android logcat. This library provides a simple interface to the Android logging system.
Add this to your Cargo.toml
:
[dependencies]
android-logcat = "0.1"
You can use the Log
struct to log messages with different priorities.
use android_logcat::Log;
Log::info("MyTag", "This is an info message");
Log::error("MyTag", "This is an error message");
For convenience, you can initialize a global logger with a default tag.
use android_logcat::Log;
// In your app's initialization code
Log::init("MyAppTag", false);
// Later in your code
Log::i("Info message using the global tag");
Log::e("Error message using the global tag");
use android_logcat;
// In global tag
android_logcat::i!("Info message {}", "Hello World!");
android_logcat::d!("Debug message {}", "Hello World!");
// In custom tag
android_logcat::d!(tag: "MyAppTag", "Debug message {}", "Hello World!");
use android_logcat::Log;
// default status is `enable`.
// diseanble
Log::enabled(false);
let curr_status = Log::is_enabled();
// reenable
Log::enabled(true);
let curr_status = Log::is_enabled();
This library can be used as a backend for the log
crate.
Change this to your Cargo.toml
:
[dependencies]
android-logcat = "0.1"
log = "0.4"
use android_logcat::Log;
use log::{info, error};
// In your app's initialization code
// Set the second parameter to true to mix in with the log crate
Log::init("MyAppTag", true);
// Now you can use the macros from the log crate
info!("This will be logged with MyAppTag");
error!("This is another error message");
The ExpectLogcat
trait provides a convenient way to handle Result
and Option
types. If the value is Err
or None
, it logs an error message and then panics.
use android_logcat::ExpectLogcat;
fn might_fail() -> Result<(), &'static str> {
Err("something went wrong")
}
fn run() {
might_fail().expect_log("Failed to run");
}
This will log an error with the message "Failed to run: something went wrong" and then panic.
It works similarly for Option
:
use android_logcat::ExpectLogcat;
let an_option: Option<i32> = None;
let value = an_option.expect_log("The option was None!");
This will log an error with the message "The option was None!" and then panic.
This project is licensed under the Apache-2.0 license. See the LICENSE.txt file for details.