2015-05-29 87 views
1

我有一个关于python日志记录模块的问题。在Python日志记录中跨多个模块访问记录器

我有一个简单的记录

记录仪= basicConfig()

如何访问使用getLogger相同的记录器()?

或者getLogger()给我一个我可以访问的日志对象?

如果是的话如何在另一个程序中访问同一个记录器?

道歉,如果这是不对的地方问这个。

+0

您是否阅读过“logging”的文档(从这里开始(https://docs.python.org/2/library/logging.html),并参阅右上角的其他资源)?它涵盖了这个用例(在多个模块中进行记录),详细地介绍了很多细节...... – jonrsharpe

+0

谢谢我正在寻找的东西......我读了其他所有文档,但是这个 – user2755526

回答

5

Python logging.getLogger(name)在进程中始终返回具有该名称的相同记录器对象。

Python的最佳使用记录器的做法是,你的每一个Python模块定义它在.py文件:

import logging 

    logger = logging.getLogger(__name__) 

    # Do something with the logger 
    def foobar(): 
     logger.debug("In foobar") 

这可以让你以后打开和关闭和调整的开始自己的记录器使用Python的logging配置的各个记录器的级别。一般来说,除非你有一些非常具体的用例,否则你不希望跨模块共享记录器。