我只是想知道写日志的好方法.
我创建了一个单例类Logger,它有两个方法:Write(eventDate,messageType,message)和 Dispose().
在构造函数中,我创建StreamWriter(使用AutoFlush设置为true),用于在Write方法中追加行.日志记录被广泛使用(但在一个线程中),每秒大约10-15条记录.
现在我反思以下两个问题,我期待你的评论:)
首先是autoflushing - 它是否一直打开和关闭文件?是否File.AppendText相似?
其次,在Dispose I flush中StreamWriter,然后调用Dispose.如果没有调用Dispose怎么办?我怎样才能确定它会被处理掉?因为如果我删除AutoFlush并且会不时刷新流(可能是通过维护内部计数器)并且当n个记录被写入缓冲区时,我会刷新它,但是如果写入少于n条记录并且程序终止怎么办?
你有什么理由不能使用像NLog这样的开源日志框架吗?
设置写入文件非常容易
这是将第一个日志写入文件的一种非常简单的方法:

打开自动创建的NLog.config文件并取消注释示例目标和规则,它们应如下所示:
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}" />
Run Code Online (Sandbox Code Playgroud)
<logger name="*" minlevel="Trace" writeTo="f" />
Run Code Online (Sandbox Code Playgroud)
var logger = NLog.LogManager.GetLogger("SampleLogger");
logger.Trace("Logged Trace");
logger.Debug("Logged Debug");
logger.Info("Logged Info");
logger.Warn("Logged Warn");
logger.Error("Logged Error");
logger.Fatal("Logged Fatal");
你会得到这个日志文件

| 归档时间: |
|
| 查看次数: |
4211 次 |
| 最近记录: |