@@ -71,11 +71,14 @@ def enable_logging(self, console=True, tofile=False, structured=False):
7171 """Enable logging to file and stderr with rotation support"""
7272 rootLogger = logging .getLogger ()
7373
74+ # Preserve the current effective level (may be set to DEBUG for verbose mode)
75+ current_level = rootLogger .getEffectiveLevel ()
76+
7477 # Remove existing handlers to avoid duplicates
7578 rootLogger .handlers .clear ()
7679
77- # Set default level
78- rootLogger .setLevel (logging .DEBUG ) # Allow all levels, filter at handler level
80+ # Set level - preserve DEBUG if it was set (for verbose), otherwise use DEBUG as default
81+ rootLogger .setLevel (logging .DEBUG if current_level <= logging . DEBUG else logging . DEBUG )
7982
8083 if structured :
8184 # Structured logging (JSON format)
@@ -119,8 +122,10 @@ def format(self, record):
119122
120123 if console :
121124 consoleHandler = logging .StreamHandler ()
122- # Console shows INFO and above by default
123- consoleHandler .setLevel (logging .INFO )
125+ # Use DEBUG level if verbose mode was enabled (current_level was DEBUG)
126+ # Otherwise default to INFO for normal operation
127+ console_level = logging .DEBUG if current_level <= logging .DEBUG else logging .INFO
128+ consoleHandler .setLevel (console_level )
124129 consoleHandler .setFormatter (formatter )
125130 rootLogger .addHandler (consoleHandler )
126131
@@ -318,22 +323,24 @@ def run(self, pre_clean=False, init=True, proceed=True, structured_log=False):
318323 """Execute project"""
319324 self .enable_logging (console = True , tofile = True , structured = structured_log )
320325 if self .project is None :
321- logging .error ('Project file not found or not loaded' )
322- return
326+ error_msg = 'Project file not found or not loaded'
327+ logging .error (error_msg )
328+ raise ValueError (error_msg )
323329 isvalid , report = self .validate ()
324330 logging .info ("Started project: %s" , self .project ['project-name' ])
325331 if not isvalid :
326- logging .error ('Invalid configuration. See more info below' )
332+ error_msg = 'Invalid configuration. See more info below'
333+ logging .error (error_msg )
327334 if report :
328335 logging .error ('Validation report: %s' , report )
329- return
330- if init :
331- self .__create_dirs ()
332- if pre_clean :
333- self .clean ()
334- self .state = ProjectState (
335- filename = self .state_file , reset = pre_clean , autosave = True )
336- self .prepare ()
337- self .collect (proceed )
338- self .process ()
339- self .finish ()
336+ raise ValueError ( f" { error_msg } . { report if report else '' } " )
337+ if init :
338+ self .__create_dirs ()
339+ if pre_clean :
340+ self .clean ()
341+ self .state = ProjectState (
342+ filename = self .state_file , reset = pre_clean , autosave = True )
343+ self .prepare ()
344+ self .collect (proceed )
345+ self .process ()
346+ self .finish ()
0 commit comments