@@ -51,7 +51,7 @@ def _resolve(val: str | Callable[[], str], context: str) -> str:
5151 UserWarning ,
5252 stacklevel = 3 ,
5353 )
54- return f"❌ [{ context } message generation failed] ❌ TIP: This needs to be a callable that returns a string without raising exceptions!!! Adjust code here! ❌ "
54+ return f"❌ Error [{ context } message generation failed]"
5555
5656
5757class DynamicIndentFormatter (logging .Formatter ):
@@ -99,19 +99,58 @@ def setup(cls, logger: logging.Logger) -> None:
9999DynamicIndentFormatter .setup (test_logger )
100100
101101
102+ # Message formatting constants
103+ _STARTING_PREFIX = "--> "
104+ _STARTING_SUFFIX = " ⏳"
105+ _DONE_PREFIX = "<-- "
106+ _DONE_SUFFIX = " ✅"
107+ _RAISED_PREFIX = "❌❌❌ Error "
108+ _RAISED_SUFFIX = " ❌❌❌"
109+
110+
102111@dataclass
103112class ContextMessages :
104113 starting : str | Callable [[], str ]
105114 done : str | Callable [[], str ]
106115 raised : str | Callable [[], str ] = field (default = "" )
107116
108117 def __post_init__ (self ):
118+ # Apply formatting to starting message
119+ if isinstance (self .starting , str ):
120+ self .starting = f"{ _STARTING_PREFIX } { self .starting } { _STARTING_SUFFIX } "
121+ else :
122+ original_starting = self .starting
123+ self .starting = (
124+ lambda : f"{ _STARTING_PREFIX } { _resolve (original_starting , 'starting' )} { _STARTING_SUFFIX } "
125+ )
126+
127+ # Apply formatting to done message
128+ if isinstance (self .done , str ):
129+ self .done = f"{ _DONE_PREFIX } { self .done } { _DONE_SUFFIX } "
130+ else :
131+ original_done = self .done
132+ self .done = (
133+ lambda : f"{ _DONE_PREFIX } { _resolve (original_done , 'done' )} { _DONE_SUFFIX } "
134+ )
135+
136+ # Apply formatting to raised message or create default
109137 if not self .raised :
110138 if isinstance (self .done , str ):
111- self .raised = f"{ self .done } [with error]"
139+ # Extract base message from formatted done message
140+ base_msg = self .done .replace (_DONE_PREFIX , "" ).replace (_DONE_SUFFIX , "" )
141+ self .raised = f"{ _RAISED_PREFIX } { base_msg } { _RAISED_SUFFIX } "
112142 else :
113- # If done is a callable, create a callable for raised too
114- self .raised = lambda : f"{ _resolve (self .done , 'done' )} [with error]"
143+ original_done = self .done
144+ self .raised = (
145+ lambda : f"{ _RAISED_PREFIX } { _resolve (original_done , 'done' )} { _RAISED_SUFFIX } "
146+ )
147+ elif isinstance (self .raised , str ):
148+ self .raised = f"{ _RAISED_PREFIX } { self .raised } { _RAISED_SUFFIX } "
149+ else :
150+ original_raised = self .raised
151+ self .raised = (
152+ lambda : f"{ _RAISED_PREFIX } { _resolve (original_raised , 'raised' )} { _RAISED_SUFFIX } "
153+ )
115154
116155
117156LogLevelInt : TypeAlias = int
@@ -156,9 +195,9 @@ def log_context(
156195
157196 if isinstance (msg , str ):
158197 ctx_msg = ContextMessages (
159- starting = f"-> { msg } starting ... " ,
160- done = f"<- { msg } done " ,
161- raised = f"❌ { msg } raised!! ❌ " ,
198+ starting = f"{ msg } " ,
199+ done = f"{ msg } " ,
200+ raised = f"{ msg } " ,
162201 )
163202 elif isinstance (msg , tuple ):
164203 ctx_msg = ContextMessages (* msg )
0 commit comments