From 710b83e2f80d05b6fc8c90ab17a0d696d9c02406 Mon Sep 17 00:00:00 2001 From: vyfor Date: Fri, 13 Dec 2024 15:56:36 +0500 Subject: [PATCH] fix(log): correctly write to the client pipe --- src/messages/events/server/log.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/messages/events/server/log.rs b/src/messages/events/server/log.rs index c964a6cb..e3879e79 100644 --- a/src/messages/events/server/log.rs +++ b/src/messages/events/server/log.rs @@ -6,15 +6,18 @@ pub struct LogEvent { use std::collections::HashMap; +use crate::ipc::pipe::PipeServerImpl; use crate::messages::events::event::{EventContext, OnEvent}; -use crate::protocol::msgpack::{Serialize, ValueRef}; +use crate::protocol::msgpack::{MsgPack, Serialize, ValueRef}; use crate::util::logger::LogLevel; impl OnEvent for LogEvent { fn on_event(self, ctx: &mut EventContext) -> crate::Result<()> { - ctx.cord - .logger - .log(self.level, self.message.into(), ctx.client_id); + let data = MsgPack::serialize(&self)?; + match ctx.client_id { + 0 => ctx.cord.pipe.broadcast(&data)?, + _ => ctx.cord.pipe.write_to(ctx.client_id, &data)?, + } Ok(()) }