在Eclipse中使用Python模块logging

0 投票
1 回答
768 浏览
提问于 2025-04-16 11:32

我正在尝试在几个不同的模块中使用 logging.config.fileConfig() 来进行日志记录。我的文件夹结构大概是这样的:

> Package
   > Source
       __init__.py
       SomeSource.py
   > Test
       __init__.py
       SomeTests.py
   __init__.py

Package.__init__.py 文件里,我有以下内容:

directory = 'C:/User/Me/workspace/Package/'
logFile = 'logger.conf'
logging.config.fileConfig(directory+logFile)
log = logging.getLogger('Package')
log.info('Logging initialized.')

import Test

Package.Test.__init__.py 文件里,我有:

log = logging.getLogger('Package.Test')
log.info('Test module started')

所以我期望的输出结果大概是这样的:

Logging initialized.
Test Module started.

我可以在使用 Eclipse 的时候,通过按 Ctrl+F11 来正确运行和记录日志。但是,从解释器调用时却什么都没有输出:

>>> import Package

日志文件保持为空。有什么想法吗?

1 个回答

0

默认情况下,在交互式解释器会话中,日志记录的详细程度是WARNING,这意味着你的INFO级别的信息不会显示出来(Eclipse或某些插件可能会设置不同的详细程度)。

你可以把你的.info调用改成.warning调用,这样你应该能看到一些输出(具体取决于你在配置文件中的设置)。

另外,在你的交互式会话中,可以执行

logging.getLogger().setLevel(logging.DEBUG)

在此之前

import Package

撰写回答