我想以与内核日志相同的格式编写日志输出:
[ 11.947248] fsl-gianfar ffe24000.ethernet eth0: Link is Up时间戳应该与内核时间具有相同的时间引用。这意味着,当日志消息在内核中同时发出时,时间戳应该具有相同的值。
clock_gettime有一个未定义的时钟起始点--因此每个程序的时间戳都有不同的值--即使它们是同时创建的:
clock_gettime(CLOCK_REALTIME, &ts);
clock_gettime(CLOCK_MONOTONIC, &ts);当你使用gettimeofday时,你会得到自Unix时代以来的时间.这在定义上不匹配。
函数localtime()返回正常运行时间-但粒度是秒-但我需要更多.
:看起来 clock_gettime(CLOCK_REALTIME, &ts)应该做我想做的事..。但是eglibc似乎返回了CLOCK_MONOTONIC。
发布于 2015-11-26 14:01:43
这个想法是首先为您的CLOCK_MONOTONIC找到偏移量。只要读一次/proc/uptime就可以了。然后使用偏移量和CLOCK_MONOTONIC打印每个日志事件的时间。
https://stackoverflow.com/questions/33876254
复制相似问题