在 Maya 2018 中使用记录器时,我的警告级别日志消息将转到脚本编辑器,但不是我的调试级别消息
when using a logger in Maya 2018, my warning level log messages will go to the script editor, but not my debug level messages
我正在使用 Maya 2018 并正在尝试设置日志记录。我的警告和错误级别消息出现在脚本编辑器中,但不是我的调试级别消息。我想知道他们是否要去别的地方?
import pymel.core as pm
import logging
logging.basicConfig(level=logging.error)
def texture_swap_core(selected_nodes):
try:
if number_of_selected_nodes(selected_nodes) is False:
return False
except Exception as e:
logging.error(e)
def number_of_selected_nodes(selected_nodes):
"""Count the number of selected nodes.
:param:selected_nodes
:type:list
:return:True if an even number of nodes are selected
:rtype:bool
"""
if len(selected_nodes) % 2 == 0 and len(selected_nodes) > 1:
logging.debug('even number of nodes selected')
return True
else:
logging.error('odd number of nodes selected')
return False
有两件事正在发生
logging.basicConfig(level=logging.error)
正试图告诉记录器忽略较低级别的错误。在普通的 Python 中,它会是 logging.basicConfig(level=logging.ERROR)
——但是它实际上在 Maya 中被默认覆盖了,所以它并没有真正影响结果。
如果你想在 Maya 中设置全局日志级别,这个可行:
import logging
root_logger = logging.getLogger()
root_logger.setLevel(logging.DEBUG) # or whatever level you want here
我正在使用 Maya 2018 并正在尝试设置日志记录。我的警告和错误级别消息出现在脚本编辑器中,但不是我的调试级别消息。我想知道他们是否要去别的地方?
import pymel.core as pm
import logging
logging.basicConfig(level=logging.error)
def texture_swap_core(selected_nodes):
try:
if number_of_selected_nodes(selected_nodes) is False:
return False
except Exception as e:
logging.error(e)
def number_of_selected_nodes(selected_nodes):
"""Count the number of selected nodes.
:param:selected_nodes
:type:list
:return:True if an even number of nodes are selected
:rtype:bool
"""
if len(selected_nodes) % 2 == 0 and len(selected_nodes) > 1:
logging.debug('even number of nodes selected')
return True
else:
logging.error('odd number of nodes selected')
return False
有两件事正在发生
logging.basicConfig(level=logging.error)
正试图告诉记录器忽略较低级别的错误。在普通的 Python 中,它会是 logging.basicConfig(level=logging.ERROR)
——但是它实际上在 Maya 中被默认覆盖了,所以它并没有真正影响结果。
如果你想在 Maya 中设置全局日志级别,这个可行:
import logging
root_logger = logging.getLogger()
root_logger.setLevel(logging.DEBUG) # or whatever level you want here