以下は、ログを出力するために Logging を使用する Django の例です。これは非常に参考になるので、皆さんのお役に立てれば幸いです。一緒に見てみましょう
Django は、ログ出力ツールとして Python 独自のロギングを使用します。ロギングについて簡単に紹介しましょう。
ロギングはスレッドセーフであり、主に次の 4 つの部分で構成されます:
Logger
ログをハンドラーに渡すためにユーザーが使用する直接インターフェイス
ハンドラー
はログの場所を制御します出力、コンソール、ファイル...
ロガーは複数のハンドラーを持つことができます
フィルター
どのログがロガーからハンドラーに流れるかを制御します
フォーマッター
log
ユーザーはlogging.getLogger ([name])を使用します ロガーインスタンスを取得します。
名前がない場合は、ロガー階層のルートロガー(root logger)を返します。この関数を同じ名前で呼び出すと、常に同じロガー インスタンスが返されます。これは、ロガー インスタンスをアプリケーションのさまざまな部分間で受け渡す必要がないことを意味します。
Django は、設定ファイルの LOGGING を使用してログ出力 (ロガー、ハンドラー、フォーマッタなどの定義を含む) をカスタマイズします
たとえば、設定ファイルは次のように定義されます:
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': '[%(asctime)s] [%(levelname)s] %(message)s' }, }, 'handlers': { 'console':{ 'level':'INFO', 'class':'logging.StreamHandler', 'formatter': 'verbose' }, 'file': { 'level': 'INFO', 'class': 'logging.FileHandler', 'filename': 'D:/monitor.log', 'formatter': 'verbose' }, 'email': { 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler', 'include_html' : True, } }, 'loggers': { 'django': { 'handlers': ['console', 'file', 'email'], 'level': 'INFO', 'propagate': True, }, }, }
ログを印刷するコード内:
logger = logging.getLogger(‘django') logger.info(“This is an error msg”)
[2017-07-15 17:44:51,316] [ERROR] This is an error msg
このようにして、ログが端末に出力され、ファイル。
Django のログ記録について詳しく知りたい場合は、公式 Web サイトを参照してください
https://docs.djangoproject.com/en/1.11/topics/logging/
関連する推奨事項:
Django が CSS と JS ファイルと静止画をロードする方法
以上がDjango はロギングを使用してログを出力しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。