当前位置: 首页 > 面试题库 >

如何在Python中将日志记录配置为syslog?

杜绍元
2023-03-14
问题内容

我无法理解Python的logging模块。我的需求非常简单:我只想将所有内容记录到syslog中。阅读文档后,我想到了这个简单的测试脚本:

import logging
import logging.handlers

my_logger = logging.getLogger('MyLogger')
my_logger.setLevel(logging.DEBUG)

handler = logging.handlers.SysLogHandler()

my_logger.addHandler(handler)

my_logger.debug('this is debug')
my_logger.critical('this is critical')

但是此脚本不会在syslog中产生任何日志记录。怎么了?


问题答案:

将行更改为此:

handler = SysLogHandler(address='/dev/log')

这对我有用

import logging
import logging.handlers

my_logger = logging.getLogger('MyLogger')
my_logger.setLevel(logging.DEBUG)

handler = logging.handlers.SysLogHandler(address = '/dev/log')

my_logger.addHandler(handler)

my_logger.debug('this is debug')
my_logger.critical('this is critical')


 类似资料:
  • 问题内容: 如何配置OpenEJB日志记录格式?这就是我现在在日志中看到的内容: 我想禁用消息,并更改其他消息的格式。中的更改无效。 问题答案: 这是我为使事情正常运行所做的工作: 现在工作正常。这是我的: 这是: 现在,由于大卫的支持,我可以在测试期间微调OpenEJB的日志记录:)

  • 在我的工作中,我们开始使用flyway,数据库管理员问我flyway是否有日志。在阅读了一些关于互联网和flyway文档的文章后,我没有找到一种方法来进行这种配置。 在StackOverflow上,一些用户说只需要将log4j放在类路径上就可以了。我尝试放置log4j文件但对我不起作用,但是当我尝试将SLF4J的文件放在flyway(类路径)的lib目录时: slf4j-api-1.7.21.ja

  • 我使用的是Kafka producer客户端,我的项目中没有任何log4j配置。 在运行时,程序打印了大量的Kafka调试日志,这是我不想要的。

  • 我有一个flink作业,它使用logback作为日志框架,因为日志需要发送到logstash,logback有一个logstash appender(logstash logback appender)。appender工作正常,当flink作业从Eclipse这样的IDE运行时,我可以在logstash中看到应用程序日志。日志记录配置文件logback。xml放在src/main/resourc

  • 我刚刚在我的应用程序中实现了日志记录,我想知道是否有一种方法来检查日志记录程序是否为空。 我想到的是在我的脚本中设置两个处理程序: 一个用于带有级别的控制台 一个用于级别为的文件 在脚本的末尾,我需要检查logger是否不为空。这意味着在运行期间,记录了一些的消息,在这种情况下,我希望通过将调试级别的日志文件发送到我的邮箱。 这种检查在脚本本身中是否可能,而不需要shell重定向到文件?

  • 我将log4j2与xml配置一起使用。我想记录由 如何在log4j2 xml配置文件中配置它来记录这些?