如何写一个记录器

mef*_*rdm 3 c# logging

所以,我想在c#中为我正在开发的应用程序编写一个记录器.但是,由于我喜欢效率,我不想在执行期间反复打开和关闭日志文件.

我想我想将所有事件写入RAM,然后在应用程序退出时写入日志文件一次.这是一个好习惯吗?如果是这样,我该如何实施呢?

如果这不是一个好习惯,会是什么?

(而且我现在不使用Windows的事件日志.)

jga*_*fin 6

但是,由于我喜欢效率,我不想在执行期间反复打开和关闭日志文件

不,这是因为你喜欢过早的优化.

我想我想将所有事件写入RAM,然后在应用程序退出时写入日志文件一次.这是一个好习惯吗?如果是这样,我该如何实施呢?

如果您喜欢效率,为什么要浪费大量内存用于日志条目?

如果这不是一个好习惯,会是什么?

如果您想在应用程序崩溃时丢失所有日志(因为它无法将日志写入磁盘).你为什么首先创建日志?

  • 然后将它写入磁盘至关重要,对吧?为什么通过将其保留在内存中而冒一切丢失的风险?使用现有的日志记录框架 (2认同)