2012-07-16 3 views
2

파이썬을 사용하여 텍스트 설정 파일에 로거를 설정하려고합니다. 다음은 부분 콘텐츠입니다.Python이 로깅 설정 파일에 filemode를 설정했습니다.

[logger_root] 
handlers=result 
level=NOTSET 

[handler_result] 
class=handlers.TimedRotatingFileHandler 
interval=midnight 
backupCount=5 
formatter=simple 
level=DEBUG 
args=('result_log.txt') 

시스템을 실행할 때마다 로그 파일을 다시 작성하고 싶습니다. 그러나 파일에 설정하는 방법을 모릅니다. 나는 이것을 시도하지만 실패한다 :

args=('result_log.txt',filemode='w') 

많은 기사가 파이썬 코드에서 설정하는 방법에 대해 이야기한다. 하지만 파일에 설정하고 싶습니다. 그것을하는 방법? 감사.

=======================================

편집 : 하여 로그 파일 'result_log.txt'에 대한 몇 가지 정보를 작성할 수 있습니다

result_logger = logging.getLogger('result') 
result_logger.debug("info to write") 

을하지만 난 단지 파일에 "추가"할 수 있습니다. 내가 실행할 때마다 파일을 다시 작성하고 싶습니다.

+0

'result_log.txt'에 무엇을 쓰고 싶습니까? –

+0

@AshwiniChaudhary : 내 게시물 수정을 참조하십시오. – Joy

답변

1

당신은 두 가지 방법 중 하나를 사용할 수 있습니다 : -

  1. 백업 이전 로그 파일 및 RotatingFileHandler

  2. 이 파일을 대체 사용하여 새 파일을 생성 자체 (더 이상 이전 로그가 필요 없다는 가정하에). 당신이 도움이 단계

희망에 대한 this을 볼 수있다.

+0

에 감사드립니다. 하지만 매번 실행 한 후에 로그 파일을 다른 곳으로 복사합니다. 따라서 오래된 로그를 다시 작성하는 데 신경 쓰지 않아도됩니다. 자동으로 다시 쓰고 싶습니다. – Joy

+0

그런 경우에는 프로그램을 실행할 때마다 처리기를 제거하고 다시 할당하여 처리 할 수 ​​있어야합니다. 제가 준 링크를보십시오. 당신이 준 링크에서 – gkris

+0

, 내가 명시 적으로 파일 처리기를 지정해야합니다. 나는 단지 파이썬 코드의 어떤 장소가 아닌 conf 파일에 로그 파일 이름을주고 싶다. – Joy

0

로거 모듈을 사용하는 대신 아래에서 대신 사용할 수 있습니까? 누군가가 더 나은이 질문에 대답 할 수있을 때까지

open("result_log.txt", "w").write("result") 

나는이 지금은 해결 될 것 이해합니다.

희망이 도움이 :)

+0

답장을 보내 주셔서 감사합니다. 하지만 로거에는 많은 이점이 있습니다. 아마도 [Python logging] (http://docs.python.org/library/logging.html) – Joy

관련 문제