我需要记录传感器的原始数据。我需要每15分钟一次的功能,创建一个新的日志文件或在文件达到一定大小后,创建新文件。
我想利用现有的框架,例如log4net,但似乎没有太多关于如何或者是否支持,添加自定义记录器来记录二进制数据。有没有人这样做过,或者遇到了类似我的需求的实现,如本文所述?
我应该补充一点,我们每天要查看~300GB的数据。我们正在保存这些数据,以便进行后期分析和算法调整。
答案 0 :(得分:1)
您可以使用byte[]
数据并使用Convert.ToBase64String
将其转换为纯文本,从而利用log4net或任何其他文本记录工具。您可以稍后使用Convert.FromBase64String
将其转换回来。
答案 1 :(得分:1)
.NET实现了BinaryReader
和BinaryWriter
类。它完全按照您的预期执行...它处理文件(或任何Stream
)的原始字节。所以你要做的就是为自己创建一个简单的文件格式,然后从中读取数据。
当然,您可以将二进制数据转换为其他格式(如字符串),然后使用您喜欢的任何序列化方案(您命名为JSON,XML等)。但是,既然您正在处理二进制数据,将它们转换为其他格式的声音可能不是最优雅的解决方案。