Python日志记录模块在Mac上登录,但不在Linux上登录

时间:2011-01-24 12:54:47

标签: python logging python-2.7

我遇到的问题是我在我的应用中使用了日志记录模块。我正在Eclipse中使用我的MacBook Pro上的LDT Python(Py 2.7)接口(而不是Pydev)。日志记录模块通过Eclipse工作;但是,当我将我的应用程序转移到RHEL5 2.7时,日志记录似乎根本不起作用。它没有抛出任何异常,它只是没有记录任何东西到控制台或文件(它创建文件)。

代码:

# Initialize logging
log = logging.getLogger('pepPrep')
# Log to stderr
console = logging.StreamHandler() 
console.setLevel(logging.INFO)
# Log to file
logname = 'pepPrep.' + datetime.datetime.now().strftime("%Y%m%d_%H:%M") + '.log'
filelog = logging.FileHandler(logname)
filelog.setLevel(logging.DEBUG)
# set a format
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
# tell the handler to use this format
console.setFormatter(formatter)
filelog.setFormatter(formatter)
# add the handler to the root logger
log.addHandler(console)
log.addHandler(filelog)

log.INFO('This is a test')
log.DEBUG('This is a test2')

关于如何使这项工作的任何指示?

1 个答案:

答案 0 :(得分:3)

日志记录的默认阈值为WARNING,因此默认情况下不会输出INFODEBUG条消息。为此,请添加例如。

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

获取DEBUGINFO条消息。

您可以通过

确认这是您的问题
log.warning('This is a test3')

在添加setLevel之前,并确认实际上已输出警告。

相关问题