MCPcopy Create free account
hub / github.com/Moosync/Moosync / flush

Method flush

src/utils/tracing_writer.rs:79–115  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

77
78 #[tracing::instrument(level = "debug", skip(self))]
79 fn flush(&mut self) -> io::Result<()> {
80 if !self.log_file {
81 let parsed = str::from_utf8(&self.data)
82 .map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e.to_string()))?;
83 match self.level {
84 tracing::Level::DEBUG => {
85 console_debug!("{}", parsed);
86 }
87 tracing::Level::ERROR => {
88 console_error!("{}", parsed);
89 }
90 tracing::Level::INFO => {
91 console_info!("{}", parsed);
92 }
93 tracing::Level::TRACE => {
94 console_trace!("{}", parsed);
95 }
96 tracing::Level::WARN => {
97 console_warn!("{}", parsed);
98 }
99 };
100 } else {
101 let data = self.data.clone();
102 spawn_local(async move {
103 if let Err(e) = invoke(
104 "renderer_write",
105 serde_wasm_bindgen::to_value(&RendererWriteArgs { data }).unwrap(),
106 )
107 .await
108 {
109 console_error!("Failed to write log: {:?}", e);
110 }
111 });
112 }
113
114 Ok(())
115 }
116}
117
118impl Drop for ConsoleWriter {

Callers 2

dropMethod · 0.80
save_selectiveMethod · 0.80

Calls 1

cloneMethod · 0.80

Tested by

no test coverage detected