2011-01-24 147 views
1

我在使用我的應用程序中的日誌記錄模塊時遇到問題。我在Eclipse上使用我的MacBook Pro上的LDT Python(Py 2.7)界面(而不是Pydev)。日誌記錄模塊通過Eclipse工作;但是,當我將應用程序轉移到RHEL5 2.7時,日誌似乎根本不起作用。它不會拋出任何異常,它只是不記錄任何東西到控制檯或文件(它會創建文件)。Python日誌記錄模塊在Mac上登錄,但不是在Linux上登錄

代碼:

# 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') 

上我怎樣才能使這項工作的任何指針?

+0

您是否正確關閉日誌? – ismail 2011-01-24 15:20:30

回答

3

日誌記錄的默認閾值爲WARNING,因此默認情況下不會輸出INFODEBUG消息。爲此,請添加例如

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

得到DEBUGINFO消息。

您可以確認這是通過添加setLevel,並確認警告實際上是在輸出前做

log.warning('This is a test3') 

您的問題。

+0

確實存在這個問題,只是在Linux上檢查它 – Konstantin 2014-03-28 15:27:15