Add logging macros to Magpie
This commit is contained in:
parent
4b46142f90
commit
ae7271a479
|
@ -9,6 +9,7 @@ use window::{WindowMessage, WindowStore};
|
|||
|
||||
fn main() -> std::io::Result<()> {
|
||||
env_logger::init();
|
||||
log::info!("Initializing Magpie...");
|
||||
let event_loop = EventLoopBuilder::<WindowMessage>::with_user_event().build();
|
||||
let window_sender = event_loop.create_proxy();
|
||||
let (ipc, ipc_sender) = Ipc::new(window_sender)?;
|
||||
|
|
|
@ -63,7 +63,6 @@ pub type ClientMessenger<T> = Messenger<T, MagpieClientMsg, MagpieServerMsg>;
|
|||
impl<T: Write> ClientMessenger<T> {
|
||||
pub fn send_panel_json<O: Serialize>(&mut self, id: PanelId, msg: &O) {
|
||||
let msg = serde_json::to_string(msg).unwrap();
|
||||
eprintln!("Sending message: {:?}", msg);
|
||||
|
||||
let _ = self.send(&MagpieServerMsg::SendMessage(SendMessage {
|
||||
id,
|
||||
|
@ -220,7 +219,6 @@ mod async_messages {
|
|||
impl<T: AsyncWriteExt + Unpin> ClientMessenger<T> {
|
||||
pub async fn send_panel_json_async<O: Serialize>(&mut self, id: PanelId, msg: &O) {
|
||||
let msg = serde_json::to_string(msg).unwrap();
|
||||
eprintln!("Sending message: {:?}", msg);
|
||||
|
||||
let _ = self
|
||||
.send_async(&MagpieServerMsg::SendMessage(SendMessage {
|
||||
|
|
|
@ -47,7 +47,7 @@ impl Drop for Listener {
|
|||
fn drop(&mut self) {
|
||||
match std::fs::remove_file(&self.path) {
|
||||
Ok(_) => {}
|
||||
Err(e) => eprintln!("Could not delete UnixListener {:?}", e),
|
||||
Err(e) => log::error!("Could not delete UnixListener {:?}", e),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -75,20 +75,20 @@ impl Listener {
|
|||
use std::io::{Error, ErrorKind};
|
||||
match UnixStream::connect(&sock_path) {
|
||||
Ok(_) => {
|
||||
eprintln!("Socket is already in use. Another instance of Magpie may be running.");
|
||||
log::warn!("Socket is already in use. Another instance of Magpie may be running.");
|
||||
let kind = ErrorKind::AddrInUse;
|
||||
let error = Error::new(kind, "Socket is already in use.");
|
||||
return Err(error);
|
||||
}
|
||||
Err(ref err) if err.kind() == ErrorKind::ConnectionRefused => {
|
||||
eprintln!("Found leftover socket; removing.");
|
||||
log::warn!("Found leftover socket; removing.");
|
||||
std::fs::remove_file(&sock_path)?;
|
||||
}
|
||||
Err(ref err) if err.kind() == ErrorKind::NotFound => {}
|
||||
Err(err) => return Err(err),
|
||||
}
|
||||
|
||||
eprintln!("Making socket at: {:?}", sock_path);
|
||||
log::info!("Making socket at: {:?}", sock_path);
|
||||
let uds = UnixListener::bind(&sock_path)?;
|
||||
let path = sock_path.to_path_buf();
|
||||
Ok(Self { uds, path })
|
||||
|
@ -120,11 +120,11 @@ pub struct Client {
|
|||
impl Client {
|
||||
pub fn on_readable(&mut self) -> std::io::Result<bool> {
|
||||
if let Err(err) = self.messenger.flush_recv() {
|
||||
eprintln!("flush_recv() error: {:?}", err);
|
||||
log::error!("flush_recv() error: {:?}", err);
|
||||
}
|
||||
|
||||
while let Some(msg) = self.messenger.try_recv() {
|
||||
println!("Client #{}: {:?}", self.token.0, msg);
|
||||
log::debug!("Client #{}: {:?}", self.token.0, msg);
|
||||
match msg {
|
||||
MagpieServerMsg::CreatePanel(CreatePanel {
|
||||
id,
|
||||
|
@ -162,7 +162,7 @@ impl Client {
|
|||
}
|
||||
|
||||
pub fn disconnect(mut self) {
|
||||
println!("Client #{} disconnected", self.token.0);
|
||||
log::info!("Client #{} disconnected", self.token.0);
|
||||
|
||||
let mut transport = self.messenger.into_transport();
|
||||
let mut data = self.data.write();
|
||||
|
@ -262,9 +262,10 @@ impl Ipc {
|
|||
match self.listener.accept() {
|
||||
Ok((mut connection, address)) => {
|
||||
let token = Token(self.clients.vacant_key());
|
||||
println!(
|
||||
log::info!(
|
||||
"Accepting connection (Client #{}) from {:?}",
|
||||
token.0, address
|
||||
token.0,
|
||||
address
|
||||
);
|
||||
|
||||
let interest = Interest::READABLE;
|
||||
|
@ -288,7 +289,7 @@ impl Ipc {
|
|||
}
|
||||
} else if event.token() == self.signals_token {
|
||||
while let Some(received) = self.signals.receive()? {
|
||||
eprintln!("Received {:?} signal; exiting...", received);
|
||||
log::info!("Received {:?} signal; exiting...", received);
|
||||
let _ = self.window_sender.send_event(WindowMessage::Quit);
|
||||
self.quit = true;
|
||||
}
|
||||
|
@ -302,7 +303,7 @@ impl Ipc {
|
|||
self.clients.remove(event.token().0).disconnect();
|
||||
}
|
||||
} else {
|
||||
eprintln!("Unrecognized event token: {:?}", event);
|
||||
log::error!("Unrecognized event token: {:?}", event);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -316,7 +317,7 @@ impl Ipc {
|
|||
match self.poll(&mut events, Some(wait)) {
|
||||
Ok(_) => {}
|
||||
Err(e) => {
|
||||
eprintln!("IPC poll error: {:?}", e);
|
||||
log::error!("IPC poll error: {:?}", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -195,14 +195,18 @@ impl WindowStore {
|
|||
protocol,
|
||||
script,
|
||||
} => {
|
||||
println!("Opening window {} with script {:?}", id, script);
|
||||
log::debug!("Opening window {} with script {:?}...", id, script);
|
||||
let start = std::time::Instant::now();
|
||||
let module = std::fs::read(script)?;
|
||||
let mut script = self.runtime.load_module(&module)?;
|
||||
log::debug!("Instantiated window {} script in {:?}", id, start.elapsed());
|
||||
let panel = script.create_panel(&protocol, vec![])?;
|
||||
log::debug!("Created window {} panel in {:?}", id, start.elapsed());
|
||||
let window = Window::new(self.ipc_sender.to_owned(), id, panel, &event_loop)?;
|
||||
let window_id = window.get_id();
|
||||
self.windows.insert(window_id, window);
|
||||
self.ipc_to_window.insert(id, window_id);
|
||||
log::debug!("Opened window {} in {:?}", id, start.elapsed());
|
||||
}
|
||||
WindowMessage::CloseWindow { id } => {
|
||||
if let Some(window_id) = self.ipc_to_window.remove(&id) {
|
||||
|
@ -242,7 +246,7 @@ impl WindowStore {
|
|||
Ok(false) => {}
|
||||
Ok(true) => *control_flow = ControlFlow::Exit,
|
||||
Err(err) => {
|
||||
eprintln!("Error while handling message {:?}:\n{}", event, err);
|
||||
log::error!("Error while handling message {:?}:\n{}", event, err);
|
||||
}
|
||||
},
|
||||
_ => {}
|
||||
|
|
Loading…
Reference in New Issue