我们正在将报告日志写入数据库,但有几次由于数据库不可用而导致报告失败。我们决定改用将日志写入文本文件的方式,认为这样总是可行的,但由于 .txt 文件被另一个进程锁定,我多次写入失败。
有没有办法防止文本文件被锁定?如果不是,我看不出使用文本文件进行日志记录的优势。
答案 0 :(得分:1)
使用“NLog”或“SeriLog”将日志写入文件。然后使用“ELK Stack”和“FileBeat”将您的日志从文件传输到数据库。这是最佳做法之一,因为:
1- 您在日志文件中有最后的日志。 (所以如果你失去了你的数据库连接,你 将看到根本原因)
2- 您将所有日志都集成在一个数据库中。
3- 您可以使用日志框架来美化和格式化日志文件。
4- 您可以滚动日志文件以避免生成大量日志文件。
5- 您可以将横切关注点(例如日志记录、日志清理、多目标日志记录等)与应用程序的核心业务分开。
6- 等 <3