mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-10-03 05:22:06 +00:00
Change Python log level from UI
Location - https://files.catbox.moe/4umtyc.png E.g. can be useful to narrow down some issues during ifc import
This commit is contained in:
@@ -20,6 +20,7 @@ import bpy
|
|||||||
from . import ui, prop, operator
|
from . import ui, prop, operator
|
||||||
|
|
||||||
classes = (
|
classes = (
|
||||||
|
operator.ChangeLogLevel,
|
||||||
operator.ConvertToBlender,
|
operator.ConvertToBlender,
|
||||||
operator.CopyDebugInformation,
|
operator.CopyDebugInformation,
|
||||||
operator.CreateAllShapes,
|
operator.CreateAllShapes,
|
||||||
|
|||||||
@@ -1003,6 +1003,31 @@ class ToggleDetailedIOSLogs(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
|
LogLevelType = Literal["NOTSET", "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]
|
||||||
|
|
||||||
|
|
||||||
|
class ChangeLogLevel(bpy.types.Operator):
|
||||||
|
bl_idname = "bim.change_log_level"
|
||||||
|
bl_label = "Change Log Level "
|
||||||
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
|
bl_description = "Change general log level across all Python code in Blender"
|
||||||
|
|
||||||
|
log_level: bpy.props.EnumProperty( # pyright: ignore[reportRedeclaration]
|
||||||
|
name="Log Level",
|
||||||
|
items=((i, i, "") for i in get_args(LogLevelType)),
|
||||||
|
default="WARNING",
|
||||||
|
)
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
log_level: LogLevelType
|
||||||
|
|
||||||
|
def execute(self, context):
|
||||||
|
root = logging.getLogger()
|
||||||
|
root.setLevel(self.log_level)
|
||||||
|
self.report({"INFO"}, f"Log level changed to {self.log_level}.")
|
||||||
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class RestartBlender(bpy.types.Operator):
|
class RestartBlender(bpy.types.Operator):
|
||||||
bl_idname = "bim.restart_blender"
|
bl_idname = "bim.restart_blender"
|
||||||
bl_label = "Restart Blender"
|
bl_label = "Restart Blender"
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ class BIM_PT_debug(Panel):
|
|||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
assert self.layout
|
assert self.layout
|
||||||
layout = self.layout
|
layout = self.layout
|
||||||
|
assert (wm := bpy.context.window_manager)
|
||||||
|
|
||||||
props = tool.Debug.get_debug_props()
|
props = tool.Debug.get_debug_props()
|
||||||
bim_props = tool.Blender.get_bim_props()
|
bim_props = tool.Blender.get_bim_props()
|
||||||
@@ -83,6 +84,10 @@ class BIM_PT_debug(Panel):
|
|||||||
row = layout.row()
|
row = layout.row()
|
||||||
row.operator("bim.toggle_detailed_ios_logs")
|
row.operator("bim.toggle_detailed_ios_logs")
|
||||||
|
|
||||||
|
row = layout.row(align=True)
|
||||||
|
row.prop(wm.operator_properties_last(bpy.ops.bim.change_log_level.idname()), "log_level", text="")
|
||||||
|
row.operator("bim.change_log_level")
|
||||||
|
|
||||||
row = layout.row()
|
row = layout.row()
|
||||||
row.operator("bim.restart_blender")
|
row.operator("bim.restart_blender")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user