C# Log4Net日志到特定Appender.NET核心

C# Log4Net日志到特定Appender.NET核心,c#,.net-core,log4net,C#,.net Core,Log4net,使用.NET内核、C#、Log4Net 2.0.8 我试图登录到不同的appender,但由于某些原因,这里没有log4net.LogManager.GetLogger(字符串),只有log4net.LogManager.GetLogger(类型) 我举了一个例子: 我希望从一个类登录: private static readonly ILog logA = LogManager.GetLogger("LogA"); log.Debug("This should log to LogA");

使用.NET内核、C#、Log4Net 2.0.8

我试图登录到不同的appender,但由于某些原因,这里没有log4net.LogManager.GetLogger(字符串),只有log4net.LogManager.GetLogger(类型)

我举了一个例子:

我希望从一个类登录:

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

但这个例子也提到:

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

如何登录到特定的appender?谢谢

您需要使用
GetLogger(程序集存储程序集,字符串名称)
重载,请参阅

必须传入
assembly
参数,例如
assembly.getExecutionGassembly()

(请注意,这将记录到一个特定的记录器,而不是appender,这正是您尝试执行的操作。)

例如:

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

谢谢我会试试这个。我认为Log.config中的条目是一个appender,根据我使用的Log.config文件,记录器包含许多appender?是的,记录器和appender都是在config文件中定义的;传递给
GetLogger
的名称是记录器的名称,记录器通过其附加器输出。只是为了避免混淆,因为你的帖子标题是“登录到特定的appender”…啊!我现在明白了!非常感谢!