2012-04-26 10 views
3

シンプルなロガーをJythonで作成しようとしていますが、実際のサンプルをオンラインで見つけることができません。Jythonでタイムスタンプとカウンタを使用したシンプルなロガーを作成する

私はhttp://www.jython.org/docs/library/logging.htmlをチェックしましたが、このコードは私にとってはうまくいかないようです。

タイムスタンプの文字列と30秒ごとにログファイルにメッセージ(ログ番号/カウント)を記録する単純なループが必要です。私はSikuliを使ってWindowsでこれをやっています。ログメッセージの

例:

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

誰も私を助けることができます。事前に

おかげで、

マルワン

PS - 私は前のJythonを使用したことがありません。あなたは、単純なルーチンを書き込むことができるようシンプルなものについては

答えて

5

:のMichałニクラスの答え@

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

ははるかに優れているが、代替は、標準出力にログのpython print文を使用することです。

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

これは素晴らしいですね。ありがとう。私はピッキングアイデアも好きです。 –

関連する問題