如何将我的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个规则.
有什么建议?