小编Tod*_*odd的帖子

自定义NLog LogLevels或每个类的多个记录器?

如何将我的normal日志记录/审核与安全日志记录/审核分开?Windows事件日志与应用程序事件和安全事件区分开来.

如果我可以创建自定义LogLevel,例如LogLevel.AuditSuccess或LogLevel.AuditFailure,那么我可以将我的配置文件规则设置为等于这些并输出这些事件.例如,

<logger name="*" levels="AuditSuccess,AuditFailure" writeTo="target1"/>
<logger name="*" levels="DEBUG,INFO" writeTo="target1"/>
Run Code Online (Sandbox Code Playgroud)

然后我可以使用1个表,在列中记录"级别",并能够使用此列信息搜索和排序我的数据.(我认为我们不能创建自定义LogLevel.)

我提出的一个解决方法是每个类使用2个记录器 - 每个记录器保存到不同的目标.但是,这似乎有些过分,特别是如果我需要添加其他类似的目标类型.

<logger name="myNamespace.*" levels="INFO,ERROR" writeTo="target1"/>
<logger name="mySecurityLogger" levels="INFO,ERROR" writeTo="target2"/>

public class MyClass {
    private static Logger _logger = LogManager.GetCurrentClassLogger();
    private statac Logger _loggerSecurity = LogManager.GetLogger("mySecurityLogger");
    ...
}
Run Code Online (Sandbox Code Playgroud)

有了这个,我可以创建两个数据库目标 - 每个目标都有一个不同的表 - 然后为每个目标目标创建1个规则.

有什么建议?

logging nlog

5
推荐指数
1
解决办法
6214
查看次数

标签 统计

logging ×1

nlog ×1