使用.NET Core、C#、Log4Net 2.0.8
我正在尝试登录到不同的Appender,但由于某种原因没有 log4net.LogManager.GetLogger(string),只有 log4net.LogManager.GetLogger(type)。
我举了一个例子: Log4net - Logging to wrong appender
我希望从一个类(class)登录:
private static readonly ILog logA = LogManager.GetLogger("LogA");
log.Debug("This should log to LogA");
在另一个类中:
private static readonly ILog logB = LogManager.GetLogger("LogB");
log.Debug("This should log to LogB");
我尝试了解 Log4Net 以下 https://logging.apache.org/log4net/release/manual/introduction.html
但是这个例子还提到:
ILog x = LogManager.GetLogger("wombat");
ILog y = LogManager.GetLogger("wombat");
如何登录到特定的 Appender?谢谢
最佳答案
您需要使用 GetLogger(Assembly repositoryAssembly, string name)
重载,请参阅 spec .
必须传入程序集
参数,该参数可以是例如Assembly.GetExecutingAssembly()
。
(请注意,这会记录到特定的记录器,而不是附加程序,这正是您想要做的。)
示例:
ILog logger = LogManager .GetLogger(Assembly.GetExecutingAssembly(), "LogB");
关于c# - Log4Net 记录到特定 Appender .NET Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60285428/