Page 1 of 1

So legen Sie die Protokollierungsstufe über die Befehlszeile fest

Posted: 22 Dec 2024, 07:51
by Guest
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')