From 3870f87963abd9fa2b9aa2cdb4e359d4199bd793 Mon Sep 17 00:00:00 2001 From: qingyunha <845767657@qq.com> Date: Tue, 10 Dec 2024 08:25:55 +0800 Subject: [PATCH] move the actor logs into the trace --- fvm/src/call_manager/default.rs | 4 ++++ fvm/src/call_manager/mod.rs | 3 +++ fvm/src/kernel/default.rs | 4 ++-- fvm/src/kernel/mod.rs | 2 +- fvm/src/trace/mod.rs | 1 + fvm/tests/dummy.rs | 4 ++++ 6 files changed, 15 insertions(+), 3 deletions(-) diff --git a/fvm/src/call_manager/default.rs b/fvm/src/call_manager/default.rs index 8611365e51..06a3b71e63 100644 --- a/fvm/src/call_manager/default.rs +++ b/fvm/src/call_manager/default.rs @@ -513,6 +513,10 @@ where Ok(()) } + + fn log(&mut self, msg: String) { + self.trace(ExecutionEvent::Log(msg)) + } } impl DefaultCallManager diff --git a/fvm/src/call_manager/mod.rs b/fvm/src/call_manager/mod.rs index b8d217e39e..80b5ed9369 100644 --- a/fvm/src/call_manager/mod.rs +++ b/fvm/src/call_manager/mod.rs @@ -174,6 +174,9 @@ pub trait CallManager: 'static { /// Appends an event to the event accumulator. fn append_event(&mut self, evt: StampedEvent); + + /// log + fn log(&mut self, msg: String); } /// The result of calling actor's entrypoint diff --git a/fvm/src/kernel/default.rs b/fvm/src/kernel/default.rs index 209c05f28b..c89a40ee0f 100644 --- a/fvm/src/kernel/default.rs +++ b/fvm/src/kernel/default.rs @@ -951,8 +951,8 @@ impl DebugOps for DefaultKernel where C: CallManager, { - fn log(&self, msg: String) { - println!("{}", msg) + fn log(&mut self, msg: String) { + self.call_manager.log(msg) } fn debug_enabled(&self) -> bool { diff --git a/fvm/src/kernel/mod.rs b/fvm/src/kernel/mod.rs index a268dd8a05..07e5acaf94 100644 --- a/fvm/src/kernel/mod.rs +++ b/fvm/src/kernel/mod.rs @@ -285,7 +285,7 @@ pub trait RandomnessOps { #[delegatable_trait] pub trait DebugOps { /// Log a message. - fn log(&self, msg: String); + fn log(&mut self, msg: String); /// Returns whether debug mode is enabled. fn debug_enabled(&self) -> bool; diff --git a/fvm/src/trace/mod.rs b/fvm/src/trace/mod.rs index 30f5c03c2e..370828b19b 100644 --- a/fvm/src/trace/mod.rs +++ b/fvm/src/trace/mod.rs @@ -38,4 +38,5 @@ pub enum ExecutionEvent { id: ActorID, state: ActorState, }, + Log(String), } diff --git a/fvm/tests/dummy.rs b/fvm/tests/dummy.rs index 765ee7abaf..f3d25a1793 100644 --- a/fvm/tests/dummy.rs +++ b/fvm/tests/dummy.rs @@ -404,4 +404,8 @@ impl CallManager for DummyCallManager { ) -> fvm::kernel::Result<()> { todo!() } + + fn log(&mut self, _msg: String) { + todo!() + } }