0
私はPython 3.5でロギングモジュールを使用していますが、前回と同じように感じていますが、設定で指定された定数でロギングレベルを変更したいと思いますファイル。Python3ロギングモジュール:コンフィグレーションのロギングレベルの変数を設定
現在、私は使用しています:
logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO)
logger.setLevel(logging.INFO)
私は、configファイルでINFO、DEBUGなどを宣言し、リテラルを使用して交換したいと思います。
my_script_config:
LOG_LEVEL = 'DEBUG' #this value to be modified by user.
スクリプト:
import my_script_conf as msc
SET_LEVEL = 'logging.' + msc.LOG_LEVEL
BASIC_LEVEL = 'level=' + SET_LEVEL
logger = logging.getLogger(__name__)
logging.basicConfig(BASIC_LEVEL)
logger.setLevel(SET_LEVEL)
Pythonはこのことで怒る、私のひどいコーディング上の任意のヘルプははるかに高く評価されるだろう。どのようなルートでも同じ結果を達成するには、基本的には読み取りと使用が簡単で、外部設定ファイルに設定されたログモジュールレベルをもっとも賢明なオプションのように思えます。あなたpythonistaのは、他のアイデアを持っている可能性があります!
おかげで、フランク・
幹部は恐ろしい考えです。設定スクリプトで単にロギングをインポートし、 '' 'LOG_LEVEL = logging.DEBUG'''を使うのがよいでしょう。また、実際に文字列を使用する必要がある場合は、後で '' 'getattr(logging、msc.LOG_LEVEL)' ''を使うことができます。あなたがevalを使っているときはいつでも、あなたは何か間違っていると気付くはずです。 evalが危険な可能性があります – JonB
これは、cliモジュールを使用してcliに移動して配置されました。 http://stackoverflow.com/questions/14097061/easier-way-to-enable-verbose-loggingに触発された –