Django记录自定义管理命令

dam*_*amd 14 python django logging

我有一个main在我的Django项目中命名的应用程序.这个应用程序有几个我想记录的管理命令,但是在stdout中没有显示任何内容,具有以下配置:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'log_to_stdout': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'stream': sys.stdout,
            },
        },
    'loggers': {
        'main': {
            'handlers': ['log_to_stdout'],
            'level': 'DEBUG',
            'propagate': True,
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我也尝试过使用my_project.main,但这也没用.我正在使用1.3.0决赛.

sec*_*ond 16

您需要命名您的记录器.目前您正在登录到根记录器,该记录器未被您正在寻找的处理程序捕获main

而不是logging.debug("message"),你想要的

logger = logging.getLogger('main')
logger.debug("message")
Run Code Online (Sandbox Code Playgroud)