Implements a basic web platform for the wasm32-unknown-unknown target for gpui Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: John Tur <john-tur@outlook.com>
38 lines
1006 B
Rust
38 lines
1006 B
Rust
use log::{Level, Log, Metadata, Record};
|
|
|
|
struct ConsoleLogger;
|
|
|
|
impl Log for ConsoleLogger {
|
|
fn enabled(&self, _metadata: &Metadata) -> bool {
|
|
true
|
|
}
|
|
|
|
fn log(&self, record: &Record) {
|
|
if !self.enabled(record.metadata()) {
|
|
return;
|
|
}
|
|
|
|
let message = format!(
|
|
"[{}] {}: {}",
|
|
record.level(),
|
|
record.target(),
|
|
record.args()
|
|
);
|
|
let js_string = wasm_bindgen::JsValue::from_str(&message);
|
|
|
|
match record.level() {
|
|
Level::Error => web_sys::console::error_1(&js_string),
|
|
Level::Warn => web_sys::console::warn_1(&js_string),
|
|
Level::Info => web_sys::console::info_1(&js_string),
|
|
Level::Debug | Level::Trace => web_sys::console::log_1(&js_string),
|
|
}
|
|
}
|
|
|
|
fn flush(&self) {}
|
|
}
|
|
|
|
pub fn init_logging() {
|
|
log::set_logger(&ConsoleLogger).ok();
|
|
log::set_max_level(log::LevelFilter::Info);
|
|
}
|