龙卷风日志配置 - 为什么我会得到重复的行?

时间:2014-01-09 13:01:41

标签: python logging tornado

我使用以下日志记录配置:

{
    "version": 1,
    "disable_existing_loggers": false,
    "formatters": {
        "simple": {
            "format": "%(asctime)s %(name)-15s %(levelname)-8s %(processName)-10s %(message)s"
        }
    },

    "handlers": {
        "console": {
            "class": "logging.StreamHandler",
            "level": "DEBUG",
            "formatter": "simple",
            "stream": "ext://sys.stdout"
        }
    },

    "loggers": {
        "transmit": {
            "level":"DEBUG",
            "propagate": "no",
            "handlers": ["console"]
        },
    },

    "root": {
        "level": "INFO",
        "handlers": ["console"]
    }
}

在我的主要内容中,我使用以下内容设置日志记录:

with open('logging.conf', 'rt') as f:
    config = json.load(f) 
logging.config.dictConfig(config)

每个模块都以下列方式请求记录器:

logger = logging.getLogger("transmit.%s" % __name__)

出于某种原因,我看到了来自我的模块和龙卷风的日志,打印了两次:

2014-01-09 14:53:07,111 transmit.__main__ DEBUG    MainProcess Current working dir : /Users/dimap/workspace/PycharmProjects/Transmit
2014-01-09 14:53:07,111 transmit.__main__ DEBUG    MainProcess Current working dir : /Users/dimap/workspace/PycharmProjects/Transmit
2014-01-09 14:53:12,619 transmit.__main__ INFO     MainProcess Get com
2014-01-09 14:53:12,619 transmit.__main__ INFO     MainProcess Get com
2014-01-09 14:53:12,620 tornado.access  INFO     MainProcess 200 GET /com?op=verify (127.0.0.1) 1.65ms
2014-01-09 14:53:12,620 tornado.access  INFO     MainProcess 200 GET /com?op=verify (127.0.0.1) 1.65ms

任何想法我做错了什么? 谢谢。

1 个答案:

答案 0 :(得分:1)

找到答案:)我在配置中出错了: 它应该是 "propagate": false,而非"propagate": "no",