2015-03-19 45 views
0

我爲它寫了一個簡單的腳本和用戶參數。如果用戶提供了--verbose,我可以讀取值args.verbosePython Logging :: show logger.debug()如果給出「-v」

現在我想根據此標誌更改日誌記錄配置。

如果args.verbose爲真,我想查看logger.debug,如果它是假的,我不想看到它(只有logger.info和「more」)。

我沒有做任何記錄到現在爲止,除了在文件的頂部:

import logging 
logger=logging.getLogger(__name__) 

記錄應到標準輸出。

回答

2
import logging 
import sys 
import argparse 

parser = argparse.ArgumentParser() 
parser.add_argument("-v", "--verbose", help="increase output verbosity", 
        action="store_true") 
args = parser.parse_args() 

root = logging.getLogger() 
root.setLevel(logging.INFO) 
if args.verbose: 
    root.setLevel(logging.DEBUG) 
ch = logging.StreamHandler(sys.stdout) 
ch.setLevel(logging.DEBUG) 
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') 
ch.setFormatter(formatter) 
root.addHandler(ch) 

root.info(" Test Info") 
root.debug("Test Debug")