【问题标题】:C# Serilog What is causing this convert type error?C# Serilog 是什么导致了这个转换类型错误?
【发布时间】:2020-12-08 10:04:29
【问题描述】:

我正在尝试了解我收到此错误的原因并希望得到一些帮助: 无法将类型“Serilog.Core.Logger”隐式转换为“Serilog.LoggerConfiguration”

请注意,我根本不是 C# 方面的专家,而且很长时间没有写过任何东西。这是我“尝试”为我想在空闲时间尝试编写的游戏引擎编写记录器。

我已经通过 Visual Studio 中的 NuGet 管理器安装了 Serilog 和 Serlog.Sinks.Console

我的代码基于库入门指南:https://github.com/serilog/serilog/wiki/Getting-Started

我的代码

using Serilog;
using System;

namespace FFEngine.src
{
    public sealed class Log
    {
        static Log()
        {
            _coreLogger = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .WriteTo.Console()
                .CreateLogger();
        }

        private Log()
        {
        }

        ~Log()
        {
           
        }

        public static Log Instance { get { return _instance; } }

        private static readonly Log _instance = new Log();
        private static LoggerConfiguration _coreLogger;
        private static LoggerConfiguration _clientLogger;
    }
}

【问题讨论】:

  • 顺便说一句:绝对删除~Log - 这不应该成为C#语言;)

标签: c# serilog


【解决方案1】:

new LoggerConfiguration().CreateLogger 创建Serilog.Core.Logger 的实例,而不是Serilog.LoggerConfiguration

您应该将您的字段声明为private static Logger _coreLogger;

【讨论】:

  • 是的,做到了。事后看来,接缝如此明显。我专注于显示错误的行。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 2011-08-13
  • 2012-10-06
  • 2012-09-21
  • 2010-10-12
  • 2013-10-03
相关资源
最近更新 更多