【发布时间】:2020-03-08 02:25:04
【问题描述】:
我的 logging.ini 文件可能有问题。我的 python 代码适用于另一个文件,但不是这个。
Python 运行这个main.py
# main.py
import logging
from logging.config import fileConfig
import my_module
# load the logging configuration
fileConfig('logging.ini')
my_module.foo()
bar = my_module.Bar()
bar.bar()
另一个具有自定义方法的文件
# my_module.py
import logging
def foo():
logger = logging.getLogger(__name__)
logger.info('Hi, foo')
class Bar(object):
def __init__(self, logger=None):
self.logger = logger or logging.getLogger(__name__)
def bar(self):
self.logger.info('Hi, bar')
self.logger.debug('Testing')
我试过这个logging.ini 文件,它工作正常
keys=root
[handlers]
keys=consoleHandler
[formatters]
keys=simpleFormatter
[logger_root]
level=DEBUG
handlers=consoleHandler
[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=
然后我想保存一些日志到文件,并打印一些到控制台,所以我在这里尝试了另一个logging.ini文件
[loggers]
keys=root,sLogger
[handlers]
keys=consoleHandler,fileHandler
[formatters]
keys=consoleFormatter,fileFormatter
[logger_root]
level=DEBUG
handlers=consoleHandler
[logger_sLogger]
level=DEBUG
handlers=consoleHandler,fileHandler
qualname=sLogger
propagate=0
[handler_consoleHandler]
class=StreamHandler
level=WARNING
formatter=consoleFormatter
args=(sys.stdout,)
[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=fileFormatter
args=('display_info.log','w')
[formatter_consoleFormatter]
format=%(levelname)s - %(message)s
datefmt=
[formatter_fileFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=
就是这样执行的
python main.py
这次程序运行良好,没有错误。但是display_info.log没有登录。有人可以帮我解决这个问题吗?谢谢!
【问题讨论】:
-
所以文件叫display_info,但是级别是DEBUG。您对文件的意图是什么?
-
@FrankMerrow 我猜 OP 在发送信息级别消息时遇到了问题,并且正在使用调试级别进行调试