问题标签 [python-logging]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
284062 浏览

python - 如何在 Python 中获取线程 id?

我有一个多线程 Python 程序和一个实用函数 ,writeLog(message)它会写出时间戳,然后是消息。不幸的是,生成的日志文件没有说明哪个线程正在生成哪个消息。

我希望writeLog()能够在消息中添加一些内容以识别哪个线程正在调用它。显然我可以让线程传递这些信息,但这需要更多的工作。是否有一些os.getpid()我可以使用的线程等价物?

0 投票
8 回答
14384 浏览

python - python logging.handlers.RotatingFileHandler 是否允许创建组可写日志文件?

我在RotatingFileHandlerlinux 系统上使用标准的 python (2.5.2) 日志记录模块,特别是 . 我的应用程序同时支持命令行界面和 Web 服务界面。我想让两者都写入同一个日志文件。但是,当日志文件轮换时,新文件具有644权限并归 Web 服务器用户所有,这会阻止命令行用户对其进行写入。我可以在日志配置或日志初始化期间指定新的日志文件应该是组可写的吗?

我查看了mode设置(r/ w/ a),但它似乎不支持任何文件权限。

0 投票
17 回答
68880 浏览

python - 如何将自定义日志级别添加到 Python 的日志记录工具

我想为我的应用程序设置 loglevel TRACE (5),因为我认为这debug()还不够。另外log(5, msg)不是我想要的。如何将自定义日志级别添加到 Python 记录器?

我有mylogger.py以下内容:

在我的代码中,我以下列方式使用它:

现在我想打电话self.log.trace("foo bar")

编辑(2016 年 12 月 8 日):我将接受的答案更改为pfa,即恕我直言,这是基于 Eric S.

0 投票
5 回答
82680 浏览

python - logging.config.dictConfig 的完整示例在哪里?

我想使用dictConfig,但文档有点抽象。我在哪里可以找到与 一起使用的字典的具体、可复制+粘贴示例dictConfig

0 投票
2 回答
5834 浏览

python - Python日志记录,如何过滤特定的记录器

这似乎是一个非常简单的问题,但我找不到任何适合我的好例子。

我想过滤具有特定名称的记录器。

例如

我希望根记录器会过滤来自的消息,b因为我知道logging.Filter只通过nameor childs of the name

但正如您所料,它只是传递所有消息。

我误解的重点是什么?

0 投票
3 回答
39400 浏览

python - Python 日志记录:如果不存在则创建日志,如果存在则打开并继续记录

我正在编写一些使用 pythonlogging系统的代码。这个想法是,如果LOG不存在,则创建日志,但如果确实存在,则获取日志并继续记录到该文件。这是我的代码:

我怀疑问题出在我的else块上,但我不知道如何解决。任何人都可以对这种情况有所了解。

0 投票
2 回答
13917 浏览

python - 每次应用程序运行时如何创建一个新的日志文件?

目前,这就是我所拥有的(testlog.py):

它目前已成功打印到控制台并打印到example.log,这就是我想要的。

每次我运行它时,它都会创建一个新文件并替换旧文件,example.log如下所示:

  • 运行logger.debug("test1")-example.log将包含test110 次,就像它应该的那样。

  • 运行logger.debug("test2")- 它重写example.log以包含test210 次。

  • ETC...

但是,我希望代码在每次运行程序时创建一个新的日志文件,以便我拥有:

总之,我希望这个文件将日志消息打印到控制台、日志文件,并且每当我运行程序时我都想要一个新的日志文件(最多 *.5)。

0 投票
1 回答
3197 浏览

python - Python TimedRotatingFileHandler 与 dictConfig

我正在尝试TimedRotatingFileHandler实施dictConfig

这是代码:

日志文件名 =$HOME/.local/share/app/file.log

加载字典 logging.config.dictConfig(LOG_SETTINGS)

写入文件:logging.debug("Some text")

这将创建一个名为 的文件file.log,但该文件完全为空。我没有收到任何错误/警告。

在 Python 中访问了 Basic logging dictConfig。文件看起来很相似。

我哪里做错了?使用 Python 3.6

0 投票
1 回答
43 浏览

python-3.x - 信息记录器未打印

这是我的代码

我希望它打印出“Hello World”。它不这样做。

有人可以帮我理解为什么它不打印消息吗?

0 投票
1 回答
68 浏览

python - 配置文件中的 FileHandler 记录罕见行为

我有一个日志记录配置文件:

logger_config.yml

还有一个简单的脚本:

测试.py

当我运行test.py时,假设脚本将只登录控制台,因为handlerforrootconsole,但也创建了一个空的 train.log。为什么这个附加?