Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@fumihiko-hidaka

DjangoでModel経由で実行したSQLをログに出力する

More than 1 year has passed since last update.

パフォーマンスチューニングって重要ですよね。

Djangoを使用していて、あれ、このAPI重いなとか負荷がかかってるな?と思ってSQLが原因かなーと、思ったのであれば、実行SQLとその実行にかかった時間をログに出してみましょう。
まずはともかく、ログに出さないことには何も調べようがないですしね:sob:

ログに出す!

特に新規実装とかは不要です!
やることは簡単、設定値を変更するだけ:muscle:

settings.py
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
        },
    },
    'loggers': {
        'django.db.backends': {
            'handlers': ['console'],
            'level': 'DEBUG',
        },
    },
}

これを追加してあげるだけです!
今回の場合だと、sqlが実行される度に、handlersで設定した先に対してログが出力されます!
便利:grin:

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
fumihiko-hidaka
株式会社ネコカリという会社をやってます。 お客さんの困ったをどう捌いていくか、というのが好きなので受託開発メインです。 好きなクラウド環境はGCPです。 Googleいいよね。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?