So legen Sie die Protokollierungsstufe über die Befehlszeile fest
Posted: 22 Dec 2024, 07:51
Ich verwende argparse, um die Protokollierungsebene über die Befehlszeile abzurufen und sie dann als Eingabe für logging.basicConfig zu übergeben. Die Art und Weise, wie ich versuche, dies umzusetzen, funktioniert jedoch nicht. Irgendwelche Vorschläge?
Wunschverhalten, über die Befehlszeile:
python main.py -log=DEBUG
Wunschausgabe
DEBUG:__main__: Debug is working
Code
import logging
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-log", "--log", nargs='+', help="Provide logging level. Example --log debug'")
log_level = parser.parse_args().log
log_level = 'logging.'+log_level[0]
print(log_level)
logging.basicConfig(level=log_level)
logger = logging.getLogger(__name__)
logger.debug(' Debug is working')
Wunschverhalten, über die Befehlszeile:
python main.py -log=DEBUG
Wunschausgabe
DEBUG:__main__: Debug is working
Code
import logging
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-log", "--log", nargs='+', help="Provide logging level. Example --log debug'")
log_level = parser.parse_args().log
log_level = 'logging.'+log_level[0]
print(log_level)
logging.basicConfig(level=log_level)
logger = logging.getLogger(__name__)
logger.debug(' Debug is working')