从这里复制代码:https://www.c-sharpcorner.com/article/logging-block-in-microsoft-enterprise-library-6-0/
public class LoggerBlock
{
protected LogWriter logWriter;
public LoggerBlock()
{
InitLogging();
}
private void InitLogging()
{
logWriter = new LogWriterFactory().Create();
Logger.SetLogWriter(logWriter, false);
}
public LogWriter LogWriter
{
get
{
return logWriter;
}
}
}
编译错误是:
Microsoft.Practies.EnterpriseLibrary.Logging.Logger不包含“SetLogWriter”的定义
对不起,我甚至不知道我安装了哪个版本的库。我正在尝试将一些日志记录语句添加到现有程序中,该程序似乎已为Enterprise Library Logging设置了app.config。
Intellisense仅提供以下类似方法:
Logger.SetContextItemLog (object key, object value)
我猜你使用的是没有Logger.SetLogWriter()
方法的旧版本。我刚安装了最新版本,你粘贴的代码工作正常。你能更新你正在使用的版本吗?
编辑:看起来Logger.SetLogWriter()
方法只是将默认的Logger设置为使用刚刚创建的LogWriter。如何直接使用创建的LogWriter而不是默认的Logger
?
var logWriter = new LogWriterFactory().Create();
logWriter.Write("Message");
以下文章可能还会为您提供更多信息。 Creating and Writing Log Entries