ホームページ  >  記事  >  バックエンド開発  >  Django はロギングを使用してログを出力します

Django はロギングを使用してログを出力します

不言
不言オリジナル
2018-04-28 10:07:392551ブラウズ

以下は、ログを出力するために 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。