Skip to content

Commit 2449349

Browse files
authored
Merge pull request #51 from BlackHoleFox/log-enable
Basic Log::enabled implementation
2 parents fb9b681 + 4820347 commit 2449349

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

src/lib.rs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,10 @@ impl AndroidLogger {
113113
config: OnceCell::from(config),
114114
}
115115
}
116+
117+
fn config(&self) -> &Config {
118+
self.config.get_or_init(Config::default)
119+
}
116120
}
117121

118122
static ANDROID_LOGGER: OnceCell<AndroidLogger> = OnceCell::new();
@@ -130,13 +134,21 @@ impl Default for AndroidLogger {
130134
}
131135

132136
impl Log for AndroidLogger {
133-
fn enabled(&self, _: &Metadata) -> bool {
134-
true
137+
fn enabled(&self, metadata: &Metadata) -> bool {
138+
let config = self.config();
139+
// todo: consider __android_log_is_loggable.
140+
Some(metadata.level()) >= config.log_level
135141
}
136142

137143
fn log(&self, record: &Record) {
138-
let config = self.config.get_or_init(Config::default);
144+
let config = self.config();
145+
146+
if !self.enabled(record.metadata()) {
147+
return;
148+
}
139149

150+
// this also checks the level, but only if a filter was
151+
// installed.
140152
if !config.filter_matches(record) {
141153
return;
142154
}

0 commit comments

Comments
 (0)