django runserver 디버그 로그를 겨냥한 오류 코드를 발견했습니다. 이러한 문제를 해결하기 위해 취할 수 있는 몇 가지 단계가 있으며 현재 진행 중입니다.
승인됨: Fortect
찾고 있는 답변이 아닌가요? Python Django로 다른 태그가 지정된 질문을 찾아보거나 자신의 질문을 해보세요.
stderr에 인쇄된 텍스트는 mod_wsgi에서 실행할 때 일반적으로 httpd 오류 로그에 나타날 수 있습니다. 인쇄
를 직접 사용하거나 대신 로깅
을 사용할 수 있습니다.
사진 >> sys.stderr, '잔인한 세상은 안녕!'
승인됨: Fortect
Fortect은 세계에서 가장 인기 있고 효과적인 PC 수리 도구입니다. 수백만 명의 사람들이 시스템을 빠르고 원활하며 오류 없이 실행하도록 신뢰합니다. 간단한 사용자 인터페이스와 강력한 검색 엔진을 갖춘 Fortect은 시스템 불안정 및 보안 문제부터 메모리 관리 및 성능 병목 현상에 이르기까지 광범위한 Windows 문제를 빠르게 찾아 수정합니다.
2010년 12월 23:48에 답변됨
709k 136136 아이콘
다음은 Django 작성을 기반으로 한 솔루션입니다. 개발 서버에 있는지 여부를 처리하는 대신 DEBUG 방법을 사용하지만 더 큰 방법을 찾을 수 있다면 적응하기가 정말 쉬울 것입니다.
<사전> <코드> 로깅 = ‘버전 1, ‘이전의’ : ‘세부 사항’: ‘형식’: ‘%(레벨 이름) s%(asctime) s%(모듈) s%(프로세스) d%(스트림) d%(메시지) s’ , ‘빛’: ‘형식’: ‘%(레벨 이름) s%(메시지) s’ , , “관리자”: ‘콘솔’: ‘레벨’: ‘디버그’, ‘클래스’: ‘logging.StreamHandler’, ‘트레이너’: ‘단순한’ , “파일로”: ‘레벨’: ‘디버그’, ‘클래스’: ‘logging.FileHandler’, ‘파일 이름’: ‘/경로/to/Your/Fichier.log’, ‘트레이너’: ‘단순한’ , , “기록계”: ‘장고’: “관리자”: [“파일”], ‘레벨’: ‘디버그’, ‘배포’: 알겠습니다. , 디버깅하는 경우: 이 번호를 통해 모든 등록 대행자는 일반적으로 콘솔을 사용할 수 있습니다. LOGGING의 로거 [‘로거’]: LOGGING [‘로거’] [로거] [‘처리기’] = [‘콘솔’]
’12년 4월 2주 17:19에 답변됨
7.955 66개의 오래된 시계 배지 3131개의 은색 배지
디버그 중인 경우: 번호가 개인의 콘솔에 표시됩니다. Logging.basicConfig( 로그 수준 = .DEBUG, 특정 형식은 '%(asctime) s%(레벨 이름) s%(메시지) s'를 의미하며, )또 다른: 정확한 파일을 저장하는 데 도움이 되도록 번호가 인쇄됩니다. Logging.basicConfig( 로깅 = .DEBUG, 프레임워크 '%(asctime) s =%(레벨 이름) s%(메시지) s', 파일 사용자 이름 = '/my_journal_file.log', 파일 모드 = 'a' )
DEBUG가 얼마나 결정적인지에 따라 다르며 빌드 방법에 대해 걱정할 필요가 없을 수도 있습니다. 작은 Django 앱이 웹에서 개발 중인지 아닌지 어떻게 알 수 있습니까? 권장되는 경우 더 나은 맞춤법에 사용할 수 있습니다. 편집: 위의 예는 완전한 Django 1.1 프로젝트에서 가져온 것이며 Django의 참조 구성 로그가 버전에서 약간 변경되었습니다.
<코드> [레코더]키 = 루트, 애플리케이션 로그[관리자]키 = 회전 파일 핸들러, 회전 콘솔 핸들러[이전의]키는 applog_format, console_format과 같습니다.[포맷터_앱로그_형식]형식 =%(asctime) s ~ [%(레벨 이름) -8s]:%(메시지) s[형식_콘솔_형식]형식 =%(asctime) s -제로 퍼센트(파일 이름) s%(린넨) d [%(레벨 이름) s]:%(메시지) s[logger_root]레벨 = 디버그핸들러 = 회전 파일 핸들러, 회전 콘솔 핸들러[logger_applog]레벨 = 디버그핸들러 = 회전 파일 핸들러qualname = simple_example[handler_rotateFileHandler]클래스 = 핸들러.RotatingFileHandler레벨 = 디버그트레이너 = applog_format인수 = ('applog.log', 'a', 10000, 9)[handler_rotateConsoleHandler]클래스는 StreamHandler와 동일합니다.레벨 = 디버그트레이너 = console_format인수 = (sys.stdout,)
가져오기 로깅Logging.config 가져오기메인 데프(): Logging.config.fileConfig('logging.conf') 로거는 Logging.getLogger('applog')와 동일합니다. logger.debug("버그가 메시지를 수정하기 위한 조치를 취합니다") logger.info("정보 메시지") logger.warn('경고 메시지') 단어 녹음기 메시지 ') error('오류 logger.critical('필요한 메시지') # 기록.정지()__name__ == '__main__'인 경우: 무엇보다 주어진()
답변2013년 6월 15일 오전 3시 30분 기준.
일반 Python 모듈이 추가 모드에서 열린 파일 시장에 쓰는 반면, 예를 들어 App Engine 모듈(https://github.com/dorkitude/tagalog/blob/master/tagalog_appengine.py)은 이 동작을 재정의하고 참조 또한 로깅이 사용되었습니다.INFO
.Get
좋은 App Engine 프로젝트에서 이 동작을 변경하려면 다음을 쉽게 수행할 수 있습니다.
tagalog.tagalog_appengine을 tagalog로 가져오기tagalog.log('새로운 메시지가 무엇이든', ['무엇이든', '태그'])
요소를 직접 늘리고 큰 장애물 없이 나무를 부술 수 있습니다.
2011년 1월 15일 9:11에 답변됨
8.505
이 작업은 내 local.py에서 충분하므로 매거진을 정기적으로 유지 관리하지 않아도 됩니다.
.settings의
*로그 ['관리자'] ['콘솔'] 훑어보기 = '레벨': '디버그', '클래스': 'logging.StreamHandler', '트레이너': '상세한'로그 ['로거'] ['foo.bar'] = "관리자": ["콘솔"], '확산': 거짓 '레벨': '디버그',
2015년 6월 10일 10:37에 답변됨
지금 이 간단한 다운로드로 컴퓨터 성능을 높이십시오. 년