Journalctl分组记录消息?

2024-04-24 04:52:19 发布

您现在位置:Python中文网/ 问答频道 /正文

所以在我们的机器上我们发现了一些奇怪的东西。我们的服务日志正常,但这些消息似乎被分组到特定大小的包中。例如,我们服务的一个命令只在日志中生成一行。另一个命令生成大约5行。你知道吗

使用journalctl-uservice-f,只有当有足够的行时,才会显示单行消息,而当您调用命令时,总是会显示5行消息。考虑这个例子:

我调用了4次short命令,但journalctl中没有显示任何内容。然后我调用longer命令,短命令的所有4个条目以及新的longer命令立即显示出来。但是,它们基本上都有完全相同的时间戳(考虑到写入速度),即使我每隔几秒钟发送invoke!你知道吗

[712708.862606] <hostname> <custom_service>[1020]: keys finished
[712708.902052] <hostname> <custom_service>[1020]: keys finished
[712708.902409] <hostname> <custom_service>[1020]: keys finished
[712708.902717] <hostname> <custom_service>[1020]: keys finished
[712708.903025] <hostname> <custom_service>[1020]: ERROR:JSONRPCTCP:Error calling handler db.keys
[712708.903377] <hostname> <custom_service>[1020]: ERROR:JSONRPCTCP:Request: {"jsonrpc": "2.0", "method": "db.keys", "id": "9fc6e420-4d6a-4654-a439-5c89fb4839a4"}
[712708.903730] <hostname> <custom_service>[1020]: ERROR:JSONRPCTCP:Traceback (most recent call last):
[712708.904100] <hostname> <custom_service>[1020]:   File "/opt/<product>/lib/python2.7/site-packages/<service>/server.py", line 321, in parse_call
[712708.904417] <hostname> <custom_service>[1020]:     response = handler(*params, **kwargs)
[712708.904729] <hostname> <custom_service>[1020]: TypeError: keys() takes at least 2 arguments (1 given)

这对于调试来说很棘手,因为您不能真正依赖于消息在实际发生时显示出来。我错过了什么?有没有办法强迫这些日志消息在实际发生时出现在journalctl中?你知道吗


Tags: 命令机器消息dbservicecustomerrorkeys