ログに含まれている情報を解読しようとしています(ロギング設定はデフォルトのフォーマッタを使用しています)。 documentationの状態:デフォルトのPythonロギングフォーマッタは何ですか
フォーマッタが設定されている場合は、それを使用します。それ以外の場合は、モジュールのデフォルトフォーマッタを使用します。
しかし、実際にこのデフォルトの形式が何であるかを示す参照は見つかりません。
おかげ
ログに含まれている情報を解読しようとしています(ロギング設定はデフォルトのフォーマッタを使用しています)。 documentationの状態:デフォルトのPythonロギングフォーマッタは何ですか
フォーマッタが設定されている場合は、それを使用します。それ以外の場合は、モジュールのデフォルトフォーマッタを使用します。
しかし、実際にこのデフォルトの形式が何であるかを示す参照は見つかりません。
おかげ
デフォルトのフォーマットがあるhere位置しています:
BASIC_FORMAT = "%(levelname)s:%(name)s:%(message)s"
Formatコードは、あなたがそれをカスタマイズする方法を教えてくれます。ここでは、カスタマイズ方法の例を示します。
import logging
logging.basicConfig(
level=logging.DEBUG,
format="[%(asctime)s] %(levelname)s [%(name)s.%(funcName)s:%(lineno)d] %(message)s",
datefmt="%H:%M:%S", stream=sys.stdout)
logging.info("HEY")
になり
:
[26/May/2013 06:41:40] INFO [root.<module>:1] HEY
それはlogging/__init__.py
の源である:
_defaultFormatter = Formatter()
デフォルトのフォーマット文字列は、同様のソースである%(message)s
、次のとおりです。
if fmt:
self._fmt = fmt
else:
self._fmt = "%(message)s"
デフォルトではあると思われます%(levelname)s:%(name)s:%(message)s
import logging
logging.error("Some error")
print "fmt: " , logging.root.handlers[0].formatter._fmt
# ERROR:root:Some error
# fmt: %(levelname)s:%(name)s:%(message)s
ソースコードのデフォルトではなく、現在のフォーマッタをチェックする方法がわかります。 – jjj
import logging
print(logging.BASIC_FORMAT)
旧スレッドが、これは、クエリ「のpythonログのデフォルトフォーマット」のための私のGoogle検索結果の最初に来るので、私は、私は追加する必要がありますと思った私回答。
また、いくつかのコメントは、これをどのように自分自身で発見することができたかについて尋ねました。
import logging
print(dir(logging))
BASIC_FORMATは、実際に、それは私の場合は、結果の最初のエントリがあり、そこにあります。ここで行うには自然なことです。
ドキュメントにそのようなことが示されているようです。 –