【问题标题】:Open-source solutions for creating a cyclical logfile?用于创建循环日志文件的开源解决方案?
【发布时间】:2015-11-20 16:58:21
【问题描述】:
if (!wheel) { wheel = new Wheel(); }   // or some such

我的谷歌护目镜今天不太好用。我想这个肯定已经被编码了无数次,并且正在寻找一些 FOSS 代码,但找不到任何代码。

在我重新发明球形绕轴装置之前,谁能给我指个网址?

我正在为嵌入式系统 (Atmel UC3) 编写 C 语言,但这不应该有任何区别,只需解释为什么我需要一个循环日志文件(因为存储空间有限)。

我想将事件记录到 SD 卡上的文件中,当达到一定大小时,我想在开始时再次开始写入。有任何网址吗? (固定的条目大小是可以的;否则它可能会在环绕时变得讨厌)。

提前一百万谢谢!

【问题讨论】:

  • 您可能实际上想要一个圆形环绕轴的设备(以及圆形日志文件),而不是球形设备! :)

标签: c logging embedded


【解决方案1】:

Sourceforge 有一个名为 Cyclic Logs 的项目,这可能是您需要的。

如果不是,这不是最难实现的事情。只需将其视为正常的循环内存空间即可。但不是让它驻留在内存中,而是驻留在磁盘上。

(维护一个指向日志头和日志尾的指针(根据需要递增))

将这些作为标题存储到日志或另一个平面文件中。

【讨论】:

  • +1 和答案。还有响亮的D'oh!从我。我已经在 SF,但愚蠢地搜索“循环”,而不是“循环”。感谢 1,000,000
  • 是的,循环内存空间。对于我的一个项目,我使用在磁盘上映射的 1 GB 文件内存来存储日志。它使用自定义 C++ streambuf。一个简单的二进制and 操作使指针回绕。很简单。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-10
  • 1970-01-01
相关资源
最近更新 更多