Improve Logging
This commit is contained in:
+10
-1
@@ -1,4 +1,5 @@
|
||||
import logging
|
||||
import traceback
|
||||
from typing import Optional, Any
|
||||
from bpy.types import Context
|
||||
|
||||
@@ -15,9 +16,17 @@ def configure_logging(enabled: bool = False) -> None:
|
||||
if enabled:
|
||||
handler = logging.StreamHandler()
|
||||
handler.setLevel(logging.DEBUG)
|
||||
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
||||
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s\n%(exc_info)s' if enabled else '%(message)s')
|
||||
handler.setFormatter(formatter)
|
||||
logger.addHandler(handler)
|
||||
|
||||
# Override error logging to include traceback
|
||||
def error_with_traceback(msg, *args, **kwargs):
|
||||
if kwargs.get('exc_info', False):
|
||||
msg = f"{msg}\n{traceback.format_exc()}"
|
||||
logger.error(msg, *args, **kwargs)
|
||||
|
||||
logger.error = error_with_traceback
|
||||
|
||||
def update_logging_state(self: Any, context: Context) -> None:
|
||||
"""Update logging state based on user preference"""
|
||||
|
||||
Reference in New Issue
Block a user