我想通过app.config将我的自定义接收器用于serilog,但没有运气。 我有一个类库,其TestSink类定义为
public class TestSink : ILogEventSink
{
public TestSink()
{
}
public void Emit(LogEvent logEvent)
{
}
}
在控制台应用程序中,我引用了此程序集(称为Test.dll)并添加了此
<add key="serilog:using" value="Test"/>
我的program.cs是
class Program
{
static void Main(string[] args)
{
try
{
var log = new LoggerConfiguration()
.ReadFrom.AppSettings().CreateLogger();
Log.Logger = log;
Log.Information("");
}
catch (Exception ex)
{
int t = 0;
}
}
}
我得到的是“配置系统无法初始化”
我做错了什么? 感谢
答案 0 :(得分:1)
你需要在这里做两件事。
<add>
元素需要嵌套在<appSettings>
下(此处存在立即配置错误)WriteTo.Test()
配置系统对扩展方法而不是类名进行操作,以便Serilog的代码和XML配置API(强制)保持同步。