在 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