web: Switch from log to tracing
This commit is contained in:
parent
b27a1045a1
commit
eec68365a6
|
@ -3615,6 +3615,7 @@ dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"serde-wasm-bindgen",
|
"serde-wasm-bindgen",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
|
"tracing",
|
||||||
"url",
|
"url",
|
||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
"wasm-bindgen-futures",
|
"wasm-bindgen-futures",
|
||||||
|
@ -3626,7 +3627,7 @@ name = "ruffle_web_common"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"js-sys",
|
"js-sys",
|
||||||
"log",
|
"tracing",
|
||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
"web-sys",
|
"web-sys",
|
||||||
]
|
]
|
||||||
|
|
|
@ -31,6 +31,7 @@ console_log = { version = "0.2", optional = true }
|
||||||
generational-arena = "0.2.8"
|
generational-arena = "0.2.8"
|
||||||
js-sys = "0.3.60"
|
js-sys = "0.3.60"
|
||||||
log = { version = "0.4", features = ["serde"] }
|
log = { version = "0.4", features = ["serde"] }
|
||||||
|
tracing = { version = "0.1.37", features = ["log"] }
|
||||||
ruffle_render_canvas = { path = "../render/canvas", optional = true }
|
ruffle_render_canvas = { path = "../render/canvas", optional = true }
|
||||||
ruffle_web_common = { path = "common" }
|
ruffle_web_common = { path = "common" }
|
||||||
ruffle_render_webgl = { path = "../render/webgl", optional = true }
|
ruffle_render_webgl = { path = "../render/webgl", optional = true }
|
||||||
|
|
|
@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
js-sys = "0.3.60"
|
js-sys = "0.3.60"
|
||||||
log = "0.4"
|
tracing = "0.1.37"
|
||||||
wasm-bindgen = "=0.2.83"
|
wasm-bindgen = "=0.2.83"
|
||||||
|
|
||||||
[dependencies.web-sys]
|
[dependencies.web-sys]
|
||||||
|
|
|
@ -30,7 +30,7 @@ impl<T> JsResult<T> for Result<T, JsValue> {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn warn_on_error(&self) {
|
fn warn_on_error(&self) {
|
||||||
if let Err(value) = self {
|
if let Err(value) = self {
|
||||||
log::warn!("Unexpected JavaScript error: {:?}", value);
|
tracing::warn!("Unexpected JavaScript error: {:?}", value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -470,7 +470,7 @@ impl Ruffle {
|
||||||
if let Ok(audio) = audio::WebAudioBackend::new() {
|
if let Ok(audio) = audio::WebAudioBackend::new() {
|
||||||
builder = builder.with_audio(audio);
|
builder = builder.with_audio(audio);
|
||||||
} else {
|
} else {
|
||||||
log::error!("Unable to create audio backend. No audio will be played.");
|
tracing::error!("Unable to create audio backend. No audio will be played.");
|
||||||
}
|
}
|
||||||
builder = builder.with_navigator(navigator::WebNavigatorBackend::new(
|
builder = builder.with_navigator(navigator::WebNavigatorBackend::new(
|
||||||
allow_script_access,
|
allow_script_access,
|
||||||
|
@ -483,7 +483,7 @@ impl Ruffle {
|
||||||
builder = builder.with_storage(storage::LocalStorageBackend::new(s));
|
builder = builder.with_storage(storage::LocalStorageBackend::new(s));
|
||||||
}
|
}
|
||||||
err => {
|
err => {
|
||||||
log::warn!("Unable to use localStorage: {:?}\nData will not save.", err);
|
tracing::warn!("Unable to use localStorage: {:?}\nData will not save.", err);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -830,7 +830,7 @@ impl Ruffle {
|
||||||
.map_err(RuffleInstanceError::from)
|
.map_err(RuffleInstanceError::from)
|
||||||
.and_then(std::convert::identity);
|
.and_then(std::convert::identity);
|
||||||
if let Err(e) = &ret {
|
if let Err(e) = &ret {
|
||||||
log::error!("{}", e);
|
tracing::error!("{}", e);
|
||||||
}
|
}
|
||||||
ret
|
ret
|
||||||
}
|
}
|
||||||
|
@ -853,7 +853,7 @@ impl Ruffle {
|
||||||
.map_err(RuffleInstanceError::from)
|
.map_err(RuffleInstanceError::from)
|
||||||
.and_then(std::convert::identity);
|
.and_then(std::convert::identity);
|
||||||
if let Err(e) = &ret {
|
if let Err(e) = &ret {
|
||||||
log::error!("{}", e);
|
tracing::error!("{}", e);
|
||||||
}
|
}
|
||||||
ret
|
ret
|
||||||
}
|
}
|
||||||
|
@ -882,7 +882,7 @@ impl Ruffle {
|
||||||
.map_err(RuffleInstanceError::from)
|
.map_err(RuffleInstanceError::from)
|
||||||
.and_then(std::convert::identity);
|
.and_then(std::convert::identity);
|
||||||
if let Err(e) = &ret {
|
if let Err(e) = &ret {
|
||||||
log::error!("{}", e);
|
tracing::error!("{}", e);
|
||||||
}
|
}
|
||||||
ret
|
ret
|
||||||
}
|
}
|
||||||
|
@ -911,7 +911,7 @@ impl Ruffle {
|
||||||
.map_err(RuffleInstanceError::from)
|
.map_err(RuffleInstanceError::from)
|
||||||
.and_then(std::convert::identity);
|
.and_then(std::convert::identity);
|
||||||
if let Err(e) = &ret {
|
if let Err(e) = &ret {
|
||||||
log::error!("{}", e);
|
tracing::error!("{}", e);
|
||||||
}
|
}
|
||||||
ret
|
ret
|
||||||
}
|
}
|
||||||
|
@ -1027,7 +1027,7 @@ impl RuffleInstance {
|
||||||
.map(|core| f(&core))
|
.map(|core| f(&core))
|
||||||
.map_err(|_| RuffleInstanceError::TryLockError);
|
.map_err(|_| RuffleInstanceError::TryLockError);
|
||||||
if let Err(e) = &ret {
|
if let Err(e) = &ret {
|
||||||
log::error!("{}", e);
|
tracing::error!("{}", e);
|
||||||
}
|
}
|
||||||
ret
|
ret
|
||||||
}
|
}
|
||||||
|
@ -1042,7 +1042,7 @@ impl RuffleInstance {
|
||||||
.map(|mut core| f(&mut core))
|
.map(|mut core| f(&mut core))
|
||||||
.map_err(|_| RuffleInstanceError::TryLockError);
|
.map_err(|_| RuffleInstanceError::TryLockError);
|
||||||
if let Err(e) = &ret {
|
if let Err(e) = &ret {
|
||||||
log::error!("{}", e);
|
tracing::error!("{}", e);
|
||||||
}
|
}
|
||||||
ret
|
ret
|
||||||
}
|
}
|
||||||
|
@ -1227,7 +1227,7 @@ async fn create_renderer(
|
||||||
.and_then(|window| js_sys::Reflect::has(&window.navigator(), &JsValue::from_str("gpu")))
|
.and_then(|window| js_sys::Reflect::has(&window.navigator(), &JsValue::from_str("gpu")))
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
{
|
{
|
||||||
log::info!("Creating wgpu webgpu renderer...");
|
tracing::info!("Creating wgpu webgpu renderer...");
|
||||||
let canvas: HtmlCanvasElement = document
|
let canvas: HtmlCanvasElement = document
|
||||||
.create_element("canvas")
|
.create_element("canvas")
|
||||||
.into_js_result()?
|
.into_js_result()?
|
||||||
|
@ -1235,7 +1235,7 @@ async fn create_renderer(
|
||||||
.map_err(|_| "Expected HtmlCanvasElement")?;
|
.map_err(|_| "Expected HtmlCanvasElement")?;
|
||||||
|
|
||||||
let sample_count = if ruffle_web_common::is_mobile_or_tablet() {
|
let sample_count = if ruffle_web_common::is_mobile_or_tablet() {
|
||||||
log::info!("Running on a mobile device; defaulting to no MSAA");
|
tracing::info!("Running on a mobile device; defaulting to no MSAA");
|
||||||
1
|
1
|
||||||
} else {
|
} else {
|
||||||
4
|
4
|
||||||
|
@ -1247,13 +1247,13 @@ async fn create_renderer(
|
||||||
Ok(renderer) => {
|
Ok(renderer) => {
|
||||||
return Ok((builder.with_renderer(renderer), canvas));
|
return Ok((builder.with_renderer(renderer), canvas));
|
||||||
}
|
}
|
||||||
Err(error) => log::error!("Error creating wgpu webgpu renderer: {}", error),
|
Err(error) => tracing::error!("Error creating wgpu webgpu renderer: {}", error),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[cfg(all(feature = "wgpu-webgl", target_family = "wasm"))]
|
#[cfg(all(feature = "wgpu-webgl", target_family = "wasm"))]
|
||||||
{
|
{
|
||||||
log::info!("Creating wgpu webgl renderer...");
|
tracing::info!("Creating wgpu webgl renderer...");
|
||||||
let canvas: HtmlCanvasElement = document
|
let canvas: HtmlCanvasElement = document
|
||||||
.create_element("canvas")
|
.create_element("canvas")
|
||||||
.into_js_result()?
|
.into_js_result()?
|
||||||
|
@ -1261,7 +1261,7 @@ async fn create_renderer(
|
||||||
.map_err(|_| "Expected HtmlCanvasElement")?;
|
.map_err(|_| "Expected HtmlCanvasElement")?;
|
||||||
|
|
||||||
let sample_count = if ruffle_web_common::is_mobile_or_tablet() {
|
let sample_count = if ruffle_web_common::is_mobile_or_tablet() {
|
||||||
log::info!("Running on a mobile device; defaulting to no MSAA");
|
tracing::info!("Running on a mobile device; defaulting to no MSAA");
|
||||||
1
|
1
|
||||||
} else {
|
} else {
|
||||||
4
|
4
|
||||||
|
@ -1273,7 +1273,7 @@ async fn create_renderer(
|
||||||
Ok(renderer) => {
|
Ok(renderer) => {
|
||||||
return Ok((builder.with_renderer(renderer), canvas));
|
return Ok((builder.with_renderer(renderer), canvas));
|
||||||
}
|
}
|
||||||
Err(error) => log::error!("Error creating wgpu webgl renderer: {}", error),
|
Err(error) => tracing::error!("Error creating wgpu webgl renderer: {}", error),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1282,7 +1282,7 @@ async fn create_renderer(
|
||||||
// with `getContext`.
|
// with `getContext`.
|
||||||
#[cfg(feature = "webgl")]
|
#[cfg(feature = "webgl")]
|
||||||
{
|
{
|
||||||
log::info!("Creating WebGL renderer...");
|
tracing::info!("Creating WebGL renderer...");
|
||||||
let canvas: HtmlCanvasElement = document
|
let canvas: HtmlCanvasElement = document
|
||||||
.create_element("canvas")
|
.create_element("canvas")
|
||||||
.into_js_result()?
|
.into_js_result()?
|
||||||
|
@ -1292,13 +1292,13 @@ async fn create_renderer(
|
||||||
Ok(renderer) => {
|
Ok(renderer) => {
|
||||||
return Ok((builder.with_renderer(renderer), canvas));
|
return Ok((builder.with_renderer(renderer), canvas));
|
||||||
}
|
}
|
||||||
Err(error) => log::error!("Error creating WebGL renderer: {}", error),
|
Err(error) => tracing::error!("Error creating WebGL renderer: {}", error),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "canvas")]
|
#[cfg(feature = "canvas")]
|
||||||
{
|
{
|
||||||
log::info!("Falling back to Canvas renderer...");
|
tracing::info!("Falling back to Canvas renderer...");
|
||||||
let canvas: HtmlCanvasElement = document
|
let canvas: HtmlCanvasElement = document
|
||||||
.create_element("canvas")
|
.create_element("canvas")
|
||||||
.into_js_result()?
|
.into_js_result()?
|
||||||
|
@ -1308,7 +1308,7 @@ async fn create_renderer(
|
||||||
Ok(renderer) => {
|
Ok(renderer) => {
|
||||||
return Ok((builder.with_renderer(renderer), canvas));
|
return Ok((builder.with_renderer(renderer), canvas));
|
||||||
}
|
}
|
||||||
Err(error) => log::error!("Error creating canvas renderer: {}", error),
|
Err(error) => tracing::error!("Error creating canvas renderer: {}", error),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ impl WebLogBackend {
|
||||||
|
|
||||||
impl LogBackend for WebLogBackend {
|
impl LogBackend for WebLogBackend {
|
||||||
fn avm_trace(&self, message: &str) {
|
fn avm_trace(&self, message: &str) {
|
||||||
log::info!(target: "avm_trace", "{}", message);
|
tracing::info!(target: "avm_trace", "{}", message);
|
||||||
if let Some(function) = self.trace_observer.borrow().dyn_ref::<Function>() {
|
if let Some(function) = self.trace_observer.borrow().dyn_ref::<Function>() {
|
||||||
let _ = function.call1(function, &JsValue::from_str(message));
|
let _ = function.call1(function, &JsValue::from_str(message));
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,7 +55,7 @@ impl WebNavigatorBackend {
|
||||||
};
|
};
|
||||||
|
|
||||||
if base_url.is_none() {
|
if base_url.is_none() {
|
||||||
log::error!("Could not get base URL for base directory inference.");
|
tracing::error!("Could not get base URL for base directory inference.");
|
||||||
}
|
}
|
||||||
|
|
||||||
Self {
|
Self {
|
||||||
|
@ -93,7 +93,7 @@ impl NavigatorBackend for WebNavigatorBackend {
|
||||||
// If `allowScriptAccess` is disabled, reject the `javascript:` scheme.
|
// If `allowScriptAccess` is disabled, reject the `javascript:` scheme.
|
||||||
if let Ok(url) = Url::parse(&url) {
|
if let Ok(url) = Url::parse(&url) {
|
||||||
if !self.allow_script_access && url.scheme() == "javascript" {
|
if !self.allow_script_access && url.scheme() == "javascript" {
|
||||||
log::warn!("SWF tried to run a script, but script access is not allowed");
|
tracing::warn!("SWF tried to run a script, but script access is not allowed");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -219,14 +219,14 @@ impl NavigatorBackend for WebNavigatorBackend {
|
||||||
fn spawn_future(&mut self, future: OwnedFuture<(), Error>) {
|
fn spawn_future(&mut self, future: OwnedFuture<(), Error>) {
|
||||||
spawn_local(async move {
|
spawn_local(async move {
|
||||||
if let Err(e) = future.await {
|
if let Err(e) = future.await {
|
||||||
log::error!("Asynchronous error occurred: {}", e);
|
tracing::error!("Asynchronous error occurred: {}", e);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fn pre_process_url(&self, mut url: Url) -> Url {
|
fn pre_process_url(&self, mut url: Url) -> Url {
|
||||||
if self.upgrade_to_https && url.scheme() == "http" && url.set_scheme("https").is_err() {
|
if self.upgrade_to_https && url.scheme() == "http" && url.set_scheme("https").is_err() {
|
||||||
log::error!("Url::set_scheme failed on: {}", url);
|
tracing::error!("Url::set_scheme failed on: {}", url);
|
||||||
}
|
}
|
||||||
url
|
url
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ impl UiBackend for WebUiBackend {
|
||||||
fn set_clipboard_content(&mut self, _content: String) {
|
fn set_clipboard_content(&mut self, _content: String) {
|
||||||
//TODO: in AVM2 FP9+ this only works when called from a button handler due to sandbox
|
//TODO: in AVM2 FP9+ this only works when called from a button handler due to sandbox
|
||||||
// restrictions
|
// restrictions
|
||||||
log::warn!("set clipboard not implemented");
|
tracing::warn!("set clipboard not implemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_fullscreen(&mut self, is_full: bool) -> Result<(), FullscreenError> {
|
fn set_fullscreen(&mut self, is_full: bool) -> Result<(), FullscreenError> {
|
||||||
|
|
Loading…
Reference in New Issue