开发者

Python logging module logs on Mac, but not Linux

I am experiencing an issue where I am using the logging module in my app. I am working in Eclipse against the LDT Python (Py 2.7) interface (rather than Pydev) on my MacBook Pro. The logging module works through Eclipse; however, when I transfer my app over to a RHEL5 2.7, logging does not seem to be working at all. It is not throwing any exceptions, it is just not logging anything to console or file (it creates the file though).

Code:

# 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 开发者_StackOverflow社区%(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')

Any pointers on how I can make this work?


The default threshold for logging is WARNING, so INFO and DEBUG messages are not output by default. To do so, add e.g.

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

to get DEBUG and INFO messages.

You can confirm this is your problem by doing

log.warning('This is a test3')

before adding that setLevel, and confirming that the warning is actually output.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜