Debugging 调试期间通过多个日志级别进行额外日志记录

Debugging 调试期间通过多个日志级别进行额外日志记录,debugging,logging,nlog,Debugging,Logging,Nlog,使用NLog,我知道我可以在NLog.config中更改minLevel,以便排除某些日志消息。我认为当软件在生产中运行时,这通常是非常好的。如果出现问题,我可以切换minLevel并查看更多细节。这是有道理的 我遇到的问题是,在调试过程中,调试级别确实有点不足。这主要是因为调试似乎是开发人员可能关心的所有事情的总包,而不是其他人 对于做很多事情的后端系统,我已经看到它在几秒钟内就填满了一个25MB的日志文件。通过这一点进行分类并尝试将各个部分连接在一起有点困难 是否可以进行多个级别的调试,这样

使用NLog,我知道我可以在NLog.config中更改minLevel,以便排除某些日志消息。我认为当软件在生产中运行时,这通常是非常好的。如果出现问题,我可以切换minLevel并查看更多细节。这是有道理的

我遇到的问题是,在调试过程中,调试级别确实有点不足。这主要是因为调试似乎是开发人员可能关心的所有事情的总包,而不是其他人

对于做很多事情的后端系统,我已经看到它在几秒钟内就填满了一个25MB的日志文件。通过这一点进行分类并尝试将各个部分连接在一起有点困难


是否可以进行多个级别的调试,这样我就可以限制信息量,从而更轻松地使用日志文件?

不确定这是否解决了您的问题

但在NLog中,通常使用以下模式:

通过使用LogManager.GetCurrentClassLogger或LogManager.GetLoggerloggernameForFlow1,为每个类或进程使用不同的记录器 始终将所有日志消息写入记录器,例如logger.Trace…、logger.Debug。。。等 按级别筛选配置中的日志,但也按记录器名称筛选。因为LogManager.GetCurrentClassLogger创建了一个具有命名空间的当前类名的记录器,所以您可以很容易地对每个类进行筛选。e、 g

命名空间上的筛选器:

 <logger name="myNamespace.*" minLevel=...  writeTo=... />
在1类上筛选

 <logger name="myNamespace.MyClass.*" minLevel=...  writeTo=... />