我有一个奇怪的问题。 我正在使用logging.config设置我的记录器以使用套接字处理程序。 一切正常,除了2/10 +模块似乎未记录任何内容。 好的,我的意思是我会在日志服务器上看到除两者之外的所有内容的输出。 太奇怪了,它只对某些人有效。 我正在使用以下行初始化每个模块的记录器:

import logging
import logging.config

logging.config.fileConfig(config.main_log_conf)
logger = logging.getLogger("CAKE")

我以为问题可能是记录器名称冲突,因此上面的CAKE无效,但是那没用。

以下是我正在使用的conf文件。

[loggers]
keys=root

[handlers]
keys=socketHandler

[formatters]
keys=simpleFormatter

[logger_root]
handlers=socketHandler
level=DEBUG

[handler_socketHandler]
class=handlers.SocketHandler
level=DEBUG
formatter=simpleFormatter
args=('localhost', handlers.DEFAULT_TCP_LOGGING_PORT)

[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=

===============>>#1 票数:0

不要从每个模块调用fileConfig() 通常应该只有一个调用才能在程序(进程)中设置日志记录配置,这是从if __name__ == '__main__'子句调用的。 还要注意,通常应该将disable_existing_loggers=False传递给fileConfig仅出于向后兼容的原因,默认值为True 有关更多信息,请参见此处

  ask by postelrich translate from so

未解决问题?本站智能推荐:

2回复

Python在不同的日志级别记录到多个处理程序?

伙计们, 我正在抓住一个我无法做对的python日志配置。 假设我安装了以下软件包: 由于脚本可以交互使用或从crontab运行,因此我有以下要求: 没有打印声明,一切都通过记录; 使用timedRotatingFileHandler , 始终处于DEBUG
1回复

Python日志记录 - 多个模块

我正在开发一个具有以下结构的小型python项目 - 我在项目下的__init.py__设置了日志记录配置,如下所示: 以这种方式设置东西似乎是在包级别设置根记录器,而不是在整个项目级别。 因此, main.py记录语句不会出现在日志文件中,而两个类classA和classB
9回复

在多个模块中使用Python日志记录

我有一个小python项目,具有以下结构 - 我计划使用默认日志记录模块将消息打印到stdout和日志文件。 要使用日志记录模块,需要进行一些初始化 - 目前,我在开始记录消息之前在每个模块中执行此初始化。 是否可以在一个地方只执行一次初始化,以便通过整个项目记录重复使用
2回复

Python日志记录:在配置文件中指定日志格式化程序的转换器属性

我希望我的日志文件中的所有时间戳都是UTC时间戳。 通过代码指定时,执行如下: 我想从上面的'in-code'配置转移到基于配置文件的机制。 这是格式化程序的配置文件部分: 现在,如何在上一节中指定转换器属性(time.gmtime)? 编辑:上面的配置文件被加载:
2回复

Python日志记录覆盖dictConfig级别

我使用以下dictConfig作为记录器。 但是,我无法在运行时修改日志记录级别。 #contents of log_config.json 然后我得到记录器并使用以下方法设置级别: 但是,因为记录器是使用dictConfig创建的,所以我无法覆盖级别。 我想构建一个U
2回复

Python日志记录:为什么__init__被调用两次?

我正在尝试将python日志记录与配置文件和自己的处理程序一起使用。 这在某种程度上起作用。 真正困扰我的是__init__被两次调用和__del__被一次调用。 当我删除整个配置文件的内容并直接在代码内创建处理程序时,一次调用__init__ ,而从不调用__del__ 。 我的问
1回复

Python日志记录:使用更改的保存位置记录配置文件

假设我有以下配置日志文件: 通常,我会: 处理每个记录器。 但是,我倾向于在两个单独的平台上运行该软件:Windows和Linux,因此如果将它们分别保存在“公共”位置会很好。 我正在寻找的是这样的: 但是我不知道如何使用配置文件来实现这一点,有什么想法吗?
1回复

子包的Python日志记录JSON配置

我有一组Python脚本,其顺序如下: 包装1 py py 包装2 log.py 其中log.py使用以下命令为所有日志创建中央设置: 如果我通过package2.log.get_logger(__ name__)调用获取记录器,则可以正
5回复

Python日志记录:如何在日志配置文件中表示格式字符串中的换行符?

我正在从文件配置我的Python日志记录(请参阅http://www.python.org/doc//current/library/logging.html#configuration-file-format )。 从该页面上的示例中,我在配置文件中有一个格式化程序,如下所示:
2回复

Python中的配置文件以代替日志功能

我有功能: 我试图替换方法: 我的配置: 但是未创建带有日志的文件。 当我使用函数时,一切正常。 我试图替换config上的功能,但它不起作用。 我哪里出错了? 你能帮助我吗 ?