2012-06-19 2 views
0

장고 1.3 응용 프로그램이 있습니다. 몇 가지 관리 명령이 있습니다. 각 명령이 settings.py에 정의 된 기본 파일 이름 대신 다른 로그 파일에 쓰기를 원합니다. 나는 매일이 명령을 cron의 일부로 실행합니다. 현재 로그 파일은 여기에 주어진 예제와 같습니다 (https://docs.djangoproject.com/en/dev/topics/logging/). 그리고, 우리가 사용하는관리 명령에서 특정 로그 파일에 쓰는 방법은 무엇입니까?

logger = logging.getLogger(__name__) 

감사

+0

'관리 명령'은 무엇을 의미합니까? 매일 로그 파일을 나누고 싶습니까? – iMom0

답변

1

당신은 로거 및 각 패키지에 대한 핸들러를 추가하여이 작업을 수행해야합니다은 :

'handlers': { 
    'my_command_handler': { 
     'level': 'DEBUG', 
     'class': 'logging.FileHandler', 
     'filename': '/path/to/my_command_log', 
    }, 
    ... 
}, 
'loggers': { 
    'my_pkg.management.commands.my_command': { 
     'level': 'DEBUG', 
     'handlers': ['my_command_handler'], 
    }, 
    ... 
} 

당신은 또한 'propagate': False을 추가하는 것을 고려 할 수 있습니다 메시지를 다른 로거에 보내지 않으려면 명령 로거를 사용하십시오.

관련 문제