web: Allow customizing log level

This commit is contained in:
Adrian Wielgosik 2021-01-20 03:10:35 +01:00 committed by GitHub
parent 75967e3775
commit b69e17bf35
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 26 additions and 2 deletions

1
Cargo.lock generated
View File

@ -2009,6 +2009,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcf3805d4480bb5b86070dcfeb9e2cb2ebc148adb753c5cca5f884d1d65a42b2"
dependencies = [
"cfg-if 0.1.10",
"serde",
]
[[package]]

View File

@ -27,7 +27,7 @@ console_log = { version = "0.2", optional = true }
fnv = "1.0.7"
generational-arena = "0.2.8"
js-sys = "0.3.46"
log = "0.4"
log = { version = "0.4", features = ["serde"] }
ruffle_render_canvas = { path = "../render/canvas", optional = true }
ruffle_web_common = { path = "common" }
ruffle_render_webgl = { path = "../render/webgl", optional = true }

View File

@ -65,6 +65,17 @@ export enum UnmuteOverlay {
Hidden = "hidden",
}
/**
* Console logging level.
*/
export enum LogLevel {
Error = "error",
Warn = "warn",
Info = "info",
Debug = "debug",
Trace = "trace",
}
/**
* Any options used for loading a movie.
*/
@ -131,6 +142,13 @@ export interface BaseLoadOptions {
* @default true
*/
warnOnUnsupportedContent?: boolean;
/**
* Console logging level.
*
* @default LogLevel.Error
*/
logLevel?: LogLevel;
}
/**

View File

@ -25,6 +25,7 @@ const gamesOptGroup = document.getElementById("games-optgroup");
// Default config used by the player.
const config = {
letterbox: "on",
logLevel: "warn",
};
window.addEventListener("DOMContentLoaded", async () => {

View File

@ -128,6 +128,9 @@ pub struct Config {
#[serde(rename = "warnOnUnsupportedContent")]
warn_on_unsupported_content: bool,
#[serde(rename = "logLevel")]
log_level: log::Level,
}
impl Default for Config {
@ -137,6 +140,7 @@ impl Default for Config {
letterbox: Default::default(),
upgrade_to_https: true,
warn_on_unsupported_content: true,
log_level: log::Level::Error,
}
}
}
@ -415,7 +419,7 @@ impl Ruffle {
allow_script_access: bool,
config: Config,
) -> Result<Ruffle, Box<dyn Error>> {
let _ = console_log::init_with_level(log::Level::Trace);
let _ = console_log::init_with_level(config.log_level);
let window = web_sys::window().ok_or("Expected window")?;
let document = window.document().ok_or("Expected document")?;