为什么一个 logger 的 handlers 是空的,但是还是可以往标准输出输出内容呢?-灵析社区

回龙叫不醒

命名为 101.py from nameko.timer import timer class KeywordService: name = 'keyword_service' @timer(1) def print_log_ingo(self): from nameko.runners import _log _log.info('哈哈哈哈') print(_log.handlers) 运行 `nameko run 101` > 需要安装 nameko 可以通过 pip install nameko 输出如下: ╰─➤ nameko run 101 starting services: keyword_service 哈哈哈哈 [] 哈哈哈哈 [] 哈哈哈哈 [] 哈哈哈哈 [] 很奇怪,明明 handlers 是空列表,但是 「哈哈哈哈」 还是输出到了标准输出中 为什么?我只知道需要输出到标准输出,必须通过配置 handlers 难道还有不用配置 handlers 就可以输出到标准输出的方式? * * * 不通过 `nameko run 101` 运行,而是直接 `python 101.py` 运行发现又是没有任何输出的 from nameko.timer import timer from nameko.runners import _log _log.info('哈哈哈哈') print(_log.handlers) 输出如下: (ideaboom) ╭─ponponon@MBP13ARM ~/Desktop/code/me/ideaboom ‹feature/svddb*› ╰─➤ python -u "/Users/ponponon/Desktop/code/me/ideaboom/101.py" []

阅读量:12

点赞量:0

问AI
handler 确实不是必须的 from nameko.timer import timer from nameko.runners import _log import logging logging.basicConfig(level=logging.INFO, format='%(message)s') _log.info('哈哈哈哈') print(_log.handlers) 改成上面那样,就 ok 了 (ideaboom) ╭─ponponon@MBP13ARM ~/Desktop/code/me/ideaboom ‹feature/svddb*› ╰─➤ python -u "/Users/ponponon/Desktop/code/me/ideaboom/101.py" 哈哈哈哈 [] 这也是 nameko 的实现方式:"https://github.com/nameko/nameko/blob/master/nameko/cli/run.py" (https://link.segmentfault.com/?enc=%2B49QEGVthNfaCeTdv3fFkA%3D%3D.wfNr4tD9%2FICxkSS9bltoZBIiEvYpSQcpY%2FF6tGP4zvq1Q%2Bn4gIydw0b5Eowh47BRj8WhDdkMO9KXsMGG5TG%2Bzg%3D%3D)