2016-09-28 82 views
0

我創建了這個python腳本來幫助我創建日誌文件,同時運行我的腳本,它在我自己的機器中完美工作。但由於某些原因,確切的代碼不適用於其他機器。 在我的機器上它顯示了pycharm控制檯中的日誌,並將它們保存在一個文件中。在其他機器上,除了創建一個空白文件外,它什麼也不做。Python日誌工作在一個pycharm而不是另一個

我在做什麼錯?

log = logging.getLogger('Logger Name') 
try: 
    logger_file_name = new_file_name() 
    handler = logging.FileHandler(logger_file_name) 
    formatter = logging.Formatter('%(asctime)s | %(levelname)s | %(message)s') 
    handler.setFormatter(formatter) 
    log.addHandler(handler) 
    log.info(logger_file_name+ ' File will be used for Saving Logs') 
    main() 
except Exception as err: 
    log.debug("An Error was found which was not caught") 
    log.exception(err) 

回答

0

嘗試顯式設置日誌級別,例如:

log.setLevel(logging.DEBUG) 

否則你依靠其可能上,可能在不同的安裝不同Python版本不同的默認值機器。例如,在2.7.12上,默認級別設置爲WARNING,並且log.info()消息不會顯示 - 就像您觀察到的一樣。

從2.7.12記錄文檔的A simple example section

import logging 
logging.warning('Watch out!') # will print a message to the console 
logging.info('I told you so') # will not print anything 

如果你鍵入這些行到腳本並運行它,你會看到:

WARNING:root:Watch out! 

打印出來的安慰。該INFO消息不會出現,因爲 的默認級別爲WARNING ...

+0

我也嘗試添加可用於打印和保存所有的日誌,因爲我需要它,但無濟於事一個logger.NOTSET水平 – nishantvas

+0

'logger.NOTSET'的行爲也可能依賴於python版本 - 至少在2.7.12上,'INFO'日誌將不再顯示。正如我所說的,試試'logging.DEBUG'。 –

+0

使用特定級別確實有幫助,但是我不得不截斷我的日誌 – nishantvas

相關問題