python的问题日志记录.getLogger(姓名)

2024-09-29 06:34:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从我正在使用的库(PyAPNs)获取日志。当然不是开箱即用的。我查看了库代码以了解它们对记录器的使用,它们使用日志记录.getLogger()方法。在

预先存在的Pypans库日志记录代码:

_logger=logging.getLogger(__name__)

这里有一个坏主意,我试图让它工作,但我没有运气:

我的应用程序代码(示例坏主意):

^{pr2}$

这没用

从芹菜任务调用库(发送消息)。在Notifier类和celery任务中,所有日志记录都可以正常工作,只是PyAPNs库中没有任何内容进入我的记录器。在

有人能帮我理解这里可能发生的事情吗?在


Tags: 方法代码name示例logging记录logger程序代码
1条回答
网友
1楼 · 发布于 2024-09-29 06:34:42

如果您想为库的记录器自定义日志处理程序,只需在

1)上层记录器(例如根记录器)。{a1}作为参考}

rootLogger = logging.getLogger('')
rootLogger.setLevel(logging.DEBUG)
socketHandler = logging.handlers.SocketHandler('localhost',
                    logging.handlers.DEFAULT_TCP_LOGGING_PORT)
# don't bother with a formatter, since a socket handler sends the event as
# an unformatted pickle
rootLogger.addHandler(socketHandler)

# Now, we can log to the root logger, or any other logger. First the root...
logging.info('Jackdaws love my big sphinx of quartz.')

# Now, define a couple of other loggers which might represent areas in your
# application:

logger1 = logging.getLogger('myapp.area1')
logger2 = logging.getLogger('myapp.area2')

2)或捕获库的记录器并显式配置

^{pr2}$

3)或使用筛选器筛选出第三方模块的记录器How can I access the current executing module or class name in Python?

相关问题 更多 >