chore: log console should enable "debug" log filter by default
This commit is contained in:
parent
3f66e14db3
commit
7560d7e8b9
1 changed files with 27 additions and 0 deletions
|
|
@ -27,6 +27,8 @@ enum ConsoleWindow {
|
|||
|
||||
static CONSOLE_WINDOW: Mutex<ConsoleWindow> = Mutex::new(ConsoleWindow::Closed);
|
||||
|
||||
static PREVIOUS_DIRECTIVES: Mutex<Option<String>> = Mutex::new(None);
|
||||
|
||||
pub fn open_log_console() {
|
||||
{
|
||||
let mut state = CONSOLE_WINDOW.lock().expect("console window state");
|
||||
|
|
@ -40,6 +42,8 @@ pub fn open_log_console() {
|
|||
}
|
||||
}
|
||||
|
||||
raise_to_debug();
|
||||
|
||||
// Taken in the caller's scope the future below runs detached and `Platform::get()` needs a component scope
|
||||
let platform = Platform::get();
|
||||
spawn(async move {
|
||||
|
|
@ -65,9 +69,32 @@ fn window_config() -> WindowConfig {
|
|||
})
|
||||
.with_on_close(|_, _| {
|
||||
*CONSOLE_WINDOW.lock().expect("console window state") = ConsoleWindow::Closed;
|
||||
restore_directives();
|
||||
CloseDecision::Close
|
||||
})
|
||||
}
|
||||
fn raise_to_debug() {
|
||||
let previous = logger::active_directives();
|
||||
if previous != logger::default_directives() {
|
||||
return;
|
||||
}
|
||||
|
||||
if logger::set_filter(&logger::debug_directives()).is_ok() {
|
||||
*PREVIOUS_DIRECTIVES.lock().expect("console directives") = Some(previous);
|
||||
}
|
||||
}
|
||||
|
||||
fn restore_directives() {
|
||||
let Some(previous) = PREVIOUS_DIRECTIVES.lock().expect("console directives").take() else {
|
||||
return;
|
||||
};
|
||||
|
||||
if logger::active_directives() != logger::debug_directives() {
|
||||
return;
|
||||
}
|
||||
|
||||
let _ = logger::set_filter(&previous);
|
||||
}
|
||||
|
||||
struct LogConsoleApp;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue