3

Jythonで簡単なロガーを作成しようとしていますが、オンラインで実用的な例が見つからないようです。

http://www.jython.org/docs/library/logging.htmlを確認しましたが、コードが機能していないようです。

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

ログメッセージの例:

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

誰かが私を助けることができますか?

前もって感謝します、

マーワン

PS-私はこれまでJythonを使用したことがありません。

4

2 に答える 2

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()
于 2012-04-27T08:38:29.120 に答える
2

@Michał Niklasの回答の方がはるかに優れていますが、代わりに、stdoutにログを記録する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 > stdoutfile.txt

Sikuli は内部メッセージもログに記録するため、これは独自のログファイルを作成するよりもはるかに醜いソリューションですが、特に sikuli スクリプトを作成/デバッグする場合に便利です。

于 2012-04-27T16:36:58.900 に答える