为什么大多数日志文件使用纯文本而不是二进制格式吗?-二进制文件

为什么大多数日志文件使用纯文本而不是二进制格式吗?-二进制文件

日志记录是必要的,但(相对)很少使用。 因此它可以更加紧凑的存储。

例如最常见的数据记录ip、日期、时间和其他数据可以表示为一个整数被存储为文本。

如果日志被存储为二进制数据,保存了大量的空间可以因此需要更少的旋转和磁盘使用寿命增加,尤其是用ssd写是有限的。

有些人可能会说,它是这样一个小问题,它并不重要,但考虑到建立这样的机制所需要的努力是没有意义的。 任何人都有这两天业余时间,人们为什么不这样做呢?

使用二进制格式的主要原因(据我所知),它被认为是更容易创建指数等即把它更像是一个数据库文件。

优势是相对较小的磁盘空间(递减)。 如果你想储存大量的日志然后压缩日志是非常有效的。

总的来说,工具和熟悉的优势可能用的文本日志,在大多数情况下。

然而将日志文件存储在二进制只是开始(简单)。 你需要编写工具:

显示整个日志文件( 编辑 )

显示的日志,没有阅读的开始( tail - f )

寻找东西的文件( grep )

过滤器只显示选定的/有趣的东西(使用任意复杂的筛选器表达式)

邮件日志log-file-decoder-software别人没有

复制粘贴日志文件的一个片段

读取日志文件在程序(创建日志文件)仍在开发和调试

读取日志文件从旧版本的软件(部署在客户网站并运行)。

这些明显的软件,也可以使用二进制文件格式(比如关系数据库)但这不是值得的(在一个 YAGNI ),通常不值得做的事情,日志文件。

推荐阅读