python日志记录从一个类分离文件

时间:2016-04-15 18:11:02

标签: python logging

我需要在一个类中添加日志记录功能,根据调用的方法将其记录到单独的文件中,但我无法找到很多关于此的讨论或文档。

我有4个文件:01.log 02.log 03.log 04.log,一个记录器,我有一个已经实现了功能的类。为了不过度复杂,让我们来做s说我已经简化了这样的类,我正在添加那些包含对logger的调用的行。

class MyClass():
    def function1():
        logger.info('function 1 was called')
        #doing something 
    def function2(arg):
        logger.info('function 2 was called')
        #doing something        
        if arg is None:
            logger.error('arg of function 2 was none')
        #doing something 
    def function3():
        logger.info('function 3 was called')
    def function4():
        logger.debug('debugging info')

现在,需要做的是只将function1日志发件到01.log文件,将function2只记录到02.log等等。

我正在考虑使用3个FileHandler和过滤器,这样只会让那些感兴趣的函数的LogRecords通过,但我不太了解如何利用LogRecord的funcName属性。另一个想法是拥有更多的记录器 - 每个功能一个 - 我会将他们的Propagate设置为false。然而,这似乎对我来说太过分了。

有没有更好的解决方案?如果没有,我怎样才能正确使用过滤器(可能还有LogRecord属性funcName)呢? 感谢

0 个答案:

没有答案