2024-06-01 03:10:55 发布
网友
我想知道是否有任何方法可以使用加载到机器人中的Python脚本将我在Choregraph的LogViewer中获得的相同信息导出到.txt文件中
我已经研究了Aldebaran的文档,这是唯一一件似乎足够接近我需要的东西:http://doc.aldebaran.com/2-4/dev/libqi/guide/py-log-client.html
有没有人遇到过同样的情况?我可以使用类似于链接中给出的示例的方法将日志保存到.txt文件中吗
提前感谢您的帮助
使用来自docs的qi.logging示例,您可以将日志消息写入这样的文件
qi.logging
import qi import qi.logging t = open('log.txt','w') def onMessage(mess): t.write(str(mess) + '\n') # mess is a dictionary with all known LogMessage information. def main(): app = qi.Application() app.start() logmanager = app.session.service("LogManager") listener = logmanager.getListener() listener.onLogMessage.connect(onMessage) app.run() if __name__ == "__main__": main()
请注意,由于日志消息是以字典格式存储的,因此格式将不同于您在Choregraph中看到的格式。下面是一个示例消息
{'category': 'ALMemory', 'level': 5L, 'source': ':notify:0', 'location': '36cd8c70-ff69-4017-ac66-c5c711cde253:3106', 'date': 4088131421410L, 'message': 'notifying module: ALBasicAwareness for datachange for key: ALTracker/FindPersonHead', 'id': 2716827L, 'systemDate': 1583368808079483915L}
如果您不需要实时记录日志,下面可能是一个更简单的方法
手动获取日志的方法也有很多,具体取决于您希望将这些信息用于什么目的。在运行测试后收集日志数据进行分析时,此方法最为有用
首先,您可以使用scp直接从/var/log/naoqi/servicemanager/system.Naoqi.log中写入naoqi系统日志的地方复制它们。您可以找到不同日志here的描述
/var/log/naoqi/servicemanager/system.Naoqi.log
scp nao@<nao-ip>:/var/log/naoqi/servicemanager/system.Naoqi.log <location-to-store>
您也可以在robot上运行工具nao-diagnostic,它将所有日志文件收集到/home/nao/diagnosis/nao-diagnosis_<date>.tar.xz。你可以让他们复制这个文件,解压它,你会在system-logs/logs/naoqi/servicemanager/system.Naoqi.log找到Naoqi日志
nao-diagnostic
/home/nao/diagnosis/nao-diagnosis_<date>.tar.xz
system-logs/logs/naoqi/servicemanager/system.Naoqi.log
使用Python程序访问日志
使用来自docs的
qi.logging
示例,您可以将日志消息写入这样的文件请注意,由于日志消息是以字典格式存储的,因此格式将不同于您在Choregraph中看到的格式。下面是一个示例消息
如果您不需要实时记录日志,下面可能是一个更简单的方法
手动访问日志
手动获取日志的方法也有很多,具体取决于您希望将这些信息用于什么目的。在运行测试后收集日志数据进行分析时,此方法最为有用
首先,您可以使用scp直接从
/var/log/naoqi/servicemanager/system.Naoqi.log
中写入naoqi系统日志的地方复制它们。您可以找到不同日志here的描述您也可以在robot上运行工具
nao-diagnostic
,它将所有日志文件收集到/home/nao/diagnosis/nao-diagnosis_<date>.tar.xz
。你可以让他们复制这个文件,解压它,你会在system-logs/logs/naoqi/servicemanager/system.Naoqi.log
找到Naoqi日志相关问题 更多 >
编程相关推荐