2012-04-26 3 views
3

자이 썬에서 간단한 로거를 작성하려고하는데 온라인에서 실제 예제를 찾을 수없는 것 같습니다.자이 썬에서 타임 스탬프 및 카운터가 포함 된 간단한 로거 작성하기

http://www.jython.org/docs/library/logging.html을 확인했지만 코드가 저에게 맞지 않는 것 같습니다.

타임 스탬프 문자열과 30 초마다 로그 파일에 메시지 (로그 번호/개수)를 기록하는 간단한 루프가 필요합니다. Windows에서 Sikuli을 사용하여이 작업을 수행하고 있습니다. 로그 메시지의

예 :

2012-04-26 13:25:51 message number 75 

이 사람이 나를 도울 수 있습니다. 사전에

감사합니다,

마르 완

추신 - 내가 전에 자이 썬을 사용한 적이있다. 당신이 간단한 루틴을 기록 할 수있는 간단한 일이 들어

답변

5

: 마이클 니클라스 응답 @

import time 

LOG_CNT = 0 

def log(msg): 
    global LOG_CNT 
    LOG_CNT += 1 
    dts = time.strftime('%Y-%m-%d %H:%M:%S') 
    f = open('log.txt', 'a') 
    f.write('%s: msg# %d: %s\n' % (dts, LOG_CNT, msg)) 
    f.close() 


def test(): 
    log('zorro') 
    time.sleep(5) 
    log('bubu') 


test() 
+0

빠른 응답을 보내 주셔서 감사합니다. 이것은 매우 도움이됩니다. –

2

은 훨씬 더하지만, 대안은 표준 출력에 기록 파이썬 인쇄 문을 사용하는 것입니다.

def log(msg): 
    global LOG_CNT 
    LOG_CNT += 1 
    dts = time.strftime('%Y-%m-%d %H:%M:%S') 
    print dts + "msg#" + LOG_CNT + msg 

명령 줄에서 Sikuli를 실행하는 경우이 파일을 파일로 파이프 할 수 있습니다.

sikli-ide.exe myProject.sikuli>

Sikuli는 또한뿐만 아니라이 자신의 로그 파일을 만드는 것보다 훨씬 더 추악한 솔루션입니다 때문에 내부 메시지를 기록하지만 작성할 때 특히 유용하게 사용할 수 있습니다

/디버깅 stdoutfile.txt sikuli 스크립트.

+0

위대한 모습입니다. 감사. 나는 그 아이디어도 좋아한다. –