From abcffe542dfb1d3f02dd88f52313298c7b18764d Mon Sep 17 00:00:00 2001 From: Jacob Middag Date: Thu, 2 Apr 2026 09:21:51 +0200 Subject: [PATCH 1/2] Make PlatformLogWriter public --- src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 9597ae8..4985912 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -73,7 +73,7 @@ use std::mem::MaybeUninit; use std::sync::OnceLock; use crate::arrays::{fill_tag_bytes, uninit_array}; -use crate::platform_log_writer::PlatformLogWriter; +pub use crate::platform_log_writer::PlatformLogWriter; pub use config::Config; pub use env_filter::{Builder as FilterBuilder, Filter}; pub use id::LogId; From d9a35891579d0ebd91af27d38eb9f6d2d15de795 Mon Sep 17 00:00:00 2001 From: Jacob Middag Date: Thu, 2 Apr 2026 09:47:07 +0200 Subject: [PATCH 2/2] Flush PlatformWriter on Drop --- src/lib.rs | 3 --- src/platform_log_writer.rs | 6 ++++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 4985912..48ee752 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -202,9 +202,6 @@ impl Log for AndroidLogger { ), _ => fmt::write(&mut writer, *record.args()), }; - - // output the remaining message (this would usually be the most common case) - writer.flush(); } fn flush(&self) {} diff --git a/src/platform_log_writer.rs b/src/platform_log_writer.rs index 2a7b53a..a27d78a 100644 --- a/src/platform_log_writer.rs +++ b/src/platform_log_writer.rs @@ -187,6 +187,12 @@ impl fmt::Write for PlatformLogWriter<'_> { } } +impl Drop for PlatformLogWriter<'_> { + fn drop(&mut self) { + self.flush(); + } +} + #[cfg(test)] pub mod tests { use crate::arrays::slice_assume_init_ref;