Log4net Filter logs by which can show or not to customer
Log4net Filter logs by which can show or not to the customer
我想在 log4net 中保存和过滤需要向客户展示以及不应该展示的日志。我试图根据严重程度来实现这一目标
我试过这样的东西
Logger logger = new Logger(); // My logger class
logger.Write(Level.Info, "Main Method", "log Message", loggingParameters);
logger.Write(Level.Finest, "Main Method", "different log Message for customer", loggingParameters);
现在我将过滤这些以仅向客户显示级别为 Finest 的日志。有没有其他方法可以达到同样的效果?
您可以通过定义不同的记录器来做到这一点:
ILog logger = LogManager.GetLogger(typeof(MyClass));//normal logger
ILog customerlogger= LogManager.GetLogger("customerlogger");//customer logger
现在您可以像这样登录到不同的记录器:
logger.Info("my log message");
customerlogger.Info("customer log message");
现在您可以在配置中区分记录器:
<root>
...
</root>
<logger name="customerlogger">
<level value="DEBUG" />
<appender-ref ref="CustomerAppender" />
</logger>
接下来,您可以使用过滤器从 'normal' 附加程序中删除 customerlogger 消息。
我想在 log4net 中保存和过滤需要向客户展示以及不应该展示的日志。我试图根据严重程度来实现这一目标 我试过这样的东西
Logger logger = new Logger(); // My logger class
logger.Write(Level.Info, "Main Method", "log Message", loggingParameters);
logger.Write(Level.Finest, "Main Method", "different log Message for customer", loggingParameters);
现在我将过滤这些以仅向客户显示级别为 Finest 的日志。有没有其他方法可以达到同样的效果?
您可以通过定义不同的记录器来做到这一点:
ILog logger = LogManager.GetLogger(typeof(MyClass));//normal logger
ILog customerlogger= LogManager.GetLogger("customerlogger");//customer logger
现在您可以像这样登录到不同的记录器:
logger.Info("my log message");
customerlogger.Info("customer log message");
现在您可以在配置中区分记录器:
<root>
...
</root>
<logger name="customerlogger">
<level value="DEBUG" />
<appender-ref ref="CustomerAppender" />
</logger>
接下来,您可以使用过滤器从 'normal' 附加程序中删除 customerlogger 消息。