Logging.Logger不包含SetLogWriter的定义

问题描述 投票:0回答:1

从这里复制代码: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) 
c# enterprise-library
1个回答
1
投票

我猜你使用的是没有Logger.SetLogWriter()方法的旧版本。我刚安装了最新版本,你粘贴的代码工作正常。你能更新你正在使用的版本吗?

编辑:看起来Logger.SetLogWriter()方法只是将默认的Logger设置为使用刚刚创建的LogWriter。如何直接使用创建的LogWriter而不是默认的Logger

var logWriter = new LogWriterFactory().Create();
logWriter.Write("Message");

以下文章可能还会为您提供更多信息。 Creating and Writing Log Entries

© www.soinside.com 2019 - 2024. All rights reserved.