python中的记录器模块不会创建多个文件

奥卡·凯克雷

在创建对象期间,我正在根据对象唯一标签创建一个具有唯一名称的记录器。我想要不同对象的不同日志文件。它只创建单个文件并将所有日志附加到它

我在构造函数(init)中创建了 5 个学生类的实例,标签从 1 - 6 递增,我通过将标签附加到它来创建一个具有唯一名称的记录器对象。运行后只创建一个文件,而不是预期的 5 个单独的文件

#python2.7
import logging
class student:
    def __init__(self,label):
        self.label = label
        file_name ="Log_Rollno" + str(self.label)
        logging.basicConfig(filename=file_name,format='%(asctime)s %(message)s',filemode='w')
        print "CREATED " + file_name
        self.logger = logging.getLogger()
        self.logger.setLevel(logging.DEBUG)
        self.logger.info("Message from Object" + str(self.label))

if __name__ == "__main__":
    for i in range(1,6):
        student_obj = student(i)

我期望:根据对象唯一标签的单个文件(Log_Rollno1、Log_Rollno2)

实际结果:来自所有创建对象的消息仅附加到一个文件中

(文件名:Log_Rollno1) 2019-07-16 12:52:49,884 来自 Object1 的消息 2019-07-16 12:52:49,890 来自 Object2 的消息 2019-07-16 12:52:49,894 来自 Object3-07 的消息12:52:49,898 来自 Object4 的消息 2019-07-16 12:52:49,904 来自 Object5 的消息

克劳斯 D。

您只能使用logging.basicConfig()一次。它配置root记录器,如果已经附加了一个处理程序,它将静默返回而不做任何事情。

文件指出:

如果根记录器已经为其配置了处理程序,则此函数不执行任何操作。

在您的情况下,第一个实例将配置记录器。稍后创建的实例不会。

您可能希望通过将 a 附加Handler记录器而不是使用 来手动配置记录器logging.basicConfig()

文档中的示例显示了如何附加处理程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

多个模块的Python多重记录器

来自分类Dev

在Python日志记录中跨多个模块访问记录器

来自分类Dev

在Python日志记录中跨多个模块访问记录器

来自分类Dev

如何在python中创建非root记录器

来自分类Dev

如何在 Python 中创建滚动记录器

来自分类Dev

Flask应用程序中多个模块的呼叫记录器

来自分类Dev

Python记录器文件异常

来自分类Dev

Python按键记录器不会记录UA提示按键

来自分类Dev

如何让模块使用 __main__ 文件(及其配置)中的记录器?

来自分类Dev

Python:多个记录器将日志写入相似的文件

来自分类Dev

在使用时间轮转记录器创建的每个日志文件中写入标头

来自分类Dev

Python记录器:不会覆盖原始日志吗?

来自分类Dev

NLog同一类中的多个记录器

来自分类Dev

在Rails 6中创建自定义记录器

来自分类Dev

Python多个记录器不起作用。如何配置不同级别的多个记录器?

来自分类Dev

自己的星号模块(SIP记录器)

来自分类Dev

如何从python记录器获取文件名

来自分类Dev

解析目录中的巨大记录器文件

来自分类Dev

记录器在某些文件中无法使用

来自分类Dev

Log :: Log4Perl屏幕记录器在创建文件记录器后停止工作

来自分类Dev

Python记录器混乱

来自分类Dev

HashMap中的记录器

来自分类Dev

记录器配置以记录到文件

来自分类Dev

每个应用程序模块的多个记录器实例

来自分类Dev

Python日志记录:为使用过的模块的所有记录器设置处理程序

来自分类Dev

Python3压缩记录器模块实时记录日志

来自分类Dev

Python日志记录:为使用过的模块的所有记录器设置处理程序

来自分类Dev

在Try / Except中设置Python记录器的级别

来自分类Dev

Winston javascript记录器正在创建两个单独的日志文件。如何将所有条目记录到单个文件中?

Related 相关文章

  1. 1

    多个模块的Python多重记录器

  2. 2

    在Python日志记录中跨多个模块访问记录器

  3. 3

    在Python日志记录中跨多个模块访问记录器

  4. 4

    如何在python中创建非root记录器

  5. 5

    如何在 Python 中创建滚动记录器

  6. 6

    Flask应用程序中多个模块的呼叫记录器

  7. 7

    Python记录器文件异常

  8. 8

    Python按键记录器不会记录UA提示按键

  9. 9

    如何让模块使用 __main__ 文件(及其配置)中的记录器?

  10. 10

    Python:多个记录器将日志写入相似的文件

  11. 11

    在使用时间轮转记录器创建的每个日志文件中写入标头

  12. 12

    Python记录器:不会覆盖原始日志吗?

  13. 13

    NLog同一类中的多个记录器

  14. 14

    在Rails 6中创建自定义记录器

  15. 15

    Python多个记录器不起作用。如何配置不同级别的多个记录器?

  16. 16

    自己的星号模块(SIP记录器)

  17. 17

    如何从python记录器获取文件名

  18. 18

    解析目录中的巨大记录器文件

  19. 19

    记录器在某些文件中无法使用

  20. 20

    Log :: Log4Perl屏幕记录器在创建文件记录器后停止工作

  21. 21

    Python记录器混乱

  22. 22

    HashMap中的记录器

  23. 23

    记录器配置以记录到文件

  24. 24

    每个应用程序模块的多个记录器实例

  25. 25

    Python日志记录:为使用过的模块的所有记录器设置处理程序

  26. 26

    Python3压缩记录器模块实时记录日志

  27. 27

    Python日志记录:为使用过的模块的所有记录器设置处理程序

  28. 28

    在Try / Except中设置Python记录器的级别

  29. 29

    Winston javascript记录器正在创建两个单独的日志文件。如何将所有条目记录到单个文件中?

热门标签

归档