From de18e68e56cd486b849aaa792d25e6af5d8099fc Mon Sep 17 00:00:00 2001
From: Rafael Schimassek <victoryshima@gmail.com>
Date: Wed, 27 Oct 2021 11:09:48 -0300
Subject: [PATCH] Host message logging is now a public method.

---
 src/silvio/host.py | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/silvio/host.py b/src/silvio/host.py
index fafa6de..853dc0f 100644
--- a/src/silvio/host.py
+++ b/src/silvio/host.py
@@ -184,6 +184,14 @@ class Host (ABC) :
 
 
 
+    def log ( self, text:str, depth:Optional[int] = 1 ) -> None :
+        """
+        Log a message in the event log.
+        """
+        self.event_log.append( ("- " * depth) + text )
+
+
+
     def emit ( self, event: Event, chain: List[ListenerEntry] = [] ) -> None :
         """
         Trigger all listeners for a given Event.
@@ -201,7 +209,7 @@ class Host (ABC) :
                 # Run the listener with the emitted event and append to chain to keep track.
                 new_chain = chain + [le]
                 emit = lambda event : self.emit( event, new_chain )
-                log = lambda text : self.event_log.append( "- " * len(new_chain) + text )
+                log = lambda text : self.log( text, len(new_chain)+1 )
                 le.run( event, emit, log )
 
 
@@ -219,7 +227,7 @@ class Host (ABC) :
         This cannot be included inside the module __init__ because all listeners have to be set.
         """
         emit = lambda event : self.emit( event, [] )
-        log = lambda text : self.event_log.append( text )
+        log = lambda text : self.log( text )
         for mod in modules :
             mod.sync( emit, log )
 
@@ -233,5 +241,7 @@ class Host (ABC) :
 
 
     def print_event_log ( self ) -> None :
+        print("Event Log for {}:".format(self.name))
+        print("=" * (len(self.name) + 15))
         for ev in self.event_log :
             print(ev)
-- 
GitLab