728x90
반응형

Django에서 로그를 남기려면 다음과 같이 하면 된다.

 

settings.py에 다음을 추가한다.

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': '/path/to/log/debug.log',
        },
    },
    'loggers': {
        'django.request': {
            'handlers': ['file'],
            'level': 'DEBUG',
            'propagate': True,
        },
        'django.request': {
            'handlers': ['file'],
            'level': 'DEBUG',
            'propagate': True,
        },
        ‘myproject': {
            'handlers': ['file'],
            'level': 'DEBUG',
        },
    },
}

다음과 같이 작성하여 사용자 로그를 남길 수 있다.

# logging 라이브러리를 추가한다.
import logging

# logger 인스턴스를 가져온다.
# settings.py의 myproject에서 설정된 대로 로그를 남길 수 있다.
logger = logging.getLogger(‘myproject.{}’.format(__name__))

def my_view(request, arg1, arg):
    ...
    if bad_mojo:
        # 에러 메시지를 남긴다.
        logger.error('Something went wrong!')

__name__은 아래와 같은 구조에서 users/views.py 인 경우 users.views를 뜻한다.

myproject/
    manage.py
    myproject/
        __init__.py
        settings.py
        urls.py
        wsgi.py
    users/
        __init__.py
        models.py
        views.py
        urls.py

 

참고문헌

  1. https://docs.djangoproject.com/en/1.8/topics/logging/

반응형

'Python' 카테고리의 다른 글

[Python] GeoDjango  (0) 2020.01.25
[Python] nginx + gunicorn + Django  (0) 2020.01.25
[Python] nginx + Django  (0) 2020.01.25

+ Recent posts