logging - Serilog 没有方法“.ForContext()”
问题描述
在我的项目中,日志记录是使用 Serilog 实现的。当我尝试记录一行时,我想添加一些不应包含在消息中但应该包含在日志中的值。
我的 _Logger 没有用于此的“.ForContext”() 方法。也许我错了注册的serilog?
处理程序类:
public class LogHandler
{
private readonly ILogger<LogHandler> _logger;
public LogHandler(ILogger<LogHandler> logger)
{
_logger = logger;
}
**_logger.(HAS NO METHOD)ForContext("Hello", ...);**
}
程序.cs:
namespace LoggingExample
{
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureLogging(loggingConfiguration => loggingConfiguration.ClearProviders())
.UseSerilog((hostingContext, loggerConfiguration) =>
loggerConfiguration.ReadFrom.Configuration(hostingContext.Configuration)
.Enrich.FromLogContext());
}
}
启动:
namespace LoggingExample
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ILogHandler, LogHandler>()
.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseMvc();
}
}
}
设置:
{
"Serilog": {
"Using": [ "Serilog.Sinks.Graylog", "Serilog.Sinks.Console" ],
"MinimumLevel": {
"Default": "Warning",
"Override": {
"LoggingExample.Handler": "Information"
}
},
"WriteTo": [
{
"Name": "Graylog",
"Args": {
"hostnameOrAddress": "127.0.0.1",
"port": "1514",
"transportType": "Tcp"
}
}
],
"Enrich": [
"FromLogContext",
"WithMachineName"
],
"Properties": {
"Application": "Centralized logging application"
}
},
"AllowedHosts": "*"
}
解决方案
推荐阅读
- python-3.x - 从 2 个列表制作字典
- c++ - 如何在 Windows 7 上为自定义版本的 Eclipse 编译 Protobuf 库?
- java - dubbo 线程模型是否在启动时初始化固定数量的线程?
- excel - 库存问题,只有在有库存时才收货
- laravel - Laravel Nova:将字段动态绑定到模型上的 JSON 属性
- java - 迭代器中的无限循环
- postgresql - postgres 索引表现不清楚
- python - 使用列表理解找到最小数字
- post - 邮递员 - 将用户发布到 BIM 360 错误?
- java - Spring Thymeleaf classappend 不附加类