二进制文件支持

时间:2014-05-07 15:07:54

标签: c# .net log4net

我需要记录传感器的原始数据。我需要每15分钟一次的功能,创建一个新的日志文件或在文件达到一定大小后,创建新文件。

我想利用现有的框架,例如log4net,但似乎没有太多关于如何或者是否支持,添加自定义记录器来记录二进制数据。有没有人这样做过,或者遇到了类似我的需求的实现,如本文所述?

我应该补充一点,我们每天要查看~300GB的数据。我们正在保存这些数据,以便进行后期分析和算法调整。

2 个答案:

答案 0 :(得分:1)

您可以使用byte[]数据并使用Convert.ToBase64String将其转换为纯文本,从而利用log4net或任何其他文本记录工具。您可以稍后使用Convert.FromBase64String将其转换回来。

答案 1 :(得分:1)

.NET实现了BinaryReaderBinaryWriter类。它完全按照您的预期执行...它处理文件(或任何Stream)的原始字节。所以你要做的就是为自己创建一个简单的文件格式,然后从中读取数据。

当然,您可以将二进制数据转换为其他格式(如字符串),然后使用您喜欢的任何序列化方案(您命名为JSON,XML等)。但是,既然您正在处理二进制数据,将它们转换为其他格式的声音可能不是最优雅的解决方案。