我正在尝试在Jython中编写一个简单的记录器,我似乎无法在线找到任何有用的示例。
我已经检查了http://www.jython.org/docs/library/logging.html,但代码似乎对我不起作用。
我只想要一个简单的循环,每隔30秒将一个带有时间戳的字符串和一条消息(日志编号/计数)记录到日志文件中。我在Windows中使用Sikuli执行此操作。
日志消息示例:
2012-04-26 13:25:51 message number 75
任何人都可以帮助我。
提前致谢,
马尔
PS - 我之前从未使用过Jython。
答案 0 :(得分: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()
答案 1 :(得分: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脚本时可能会派上用场。