Log4Net 日志到特定的 Appender .NET Core

Log4Net Log to specific Appender .NET Core

使用 .NET Core、C#、Log4Net 2.0.8

我正在尝试登录到不同的 Appender,但由于某种原因,没有 log4net.LogManager.GetLogger(string),只有 log4net.LogManager.GetLogger(type)。

我举了一个例子:

我想从一个 class:

登录
private static readonly ILog logA = LogManager.GetLogger("LogA");
log.Debug("This should log to LogA");

在另一个 class:

private static readonly ILog logB = LogManager.GetLogger("LogB");
log.Debug("This should log to LogB");

我尝试在 https://logging.apache.org/log4net/release/manual/introduction.html

之后理解 Log4Net

但例子也指:

ILog x = LogManager.GetLogger("wombat");
ILog y = LogManager.GetLogger("wombat");

如何登录特定的 Appender?谢谢

您需要使用 GetLogger(Assembly repositoryAssembly, string name) 重载,请参阅 spec

必须传入一个assembly参数,可以是例如Assembly.GetExecutingAssembly().

(请注意,这会记录到特定的记录器,而不是附加程序,这是您正在尝试做的。)

示例:

ILog logger = LogManager .GetLogger(Assembly.GetExecutingAssembly(), "LogB");