add serilog packages
dotnet add package serilog.aspnetcore
dotnet add package Serilog.Sinks.Console
add serilog support
using Serilog;
using Serilog.Formatting.Json;
ServiceCollection services = new ServiceCollection();
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.Enrich.FromLogContext()
.WriteTo.Console(new JsonFormatter())
.CreateLogger();
services.AddLogging(logBuilder => {
// logBuilder.AddNLog(); // add nlog support
logBuilder.AddSerilog();
});
// test with Serilog
int itemNumber = 123, itemCount = 222;
Log.Debug("Processing item {ItemNumber} of {ItemCount}", itemNumber, itemCount);
use dotnet core ILogger
class TestController
{
// IOptions:
// IOptionsSnapshot:
// IOptionsMonitor:
private IOptionsSnapshot<Config> optConfig { get; }
private ILogger<TestController> logger { get; }
public TestController(IOptionsSnapshot<Config> config, ILogger<TestController> logger)
{
optConfig = config;
this.logger = logger;
}
public void Test()
{
logger.LogInformation("enter Test");
logger.LogDebug("can you see me?");
System.Console.WriteLine(optConfig.Value);
logger.LogInformation("leave Test");
}
}
structured log output
{"Timestamp":"2022-01-17T21:05:01.8240220+11:00","Level":"Debug","MessageTemplate":"Processing item {ItemNumber} of {ItemCount}","Properties":{"ItemNumber":123,"ItemCount":222}}
{"Timestamp":"2022-01-17T21:05:01.9875653+11:00","Level":"Information","MessageTemplate":"enter Test","Properties":{"SourceContext":"consoleApp01.Controllers.TestController"}}
{"Timestamp":"2022-01-17T21:05:01.9909203+11:00","Level":"Debug","MessageTemplate":"can you see me?","Properties":{"SourceContext":"consoleApp01.Controllers.TestController"}}
name:, age:0, proxy:
{"Timestamp":"2022-01-17T21:05:02.0006510+11:00","Level":"Information","MessageTemplate":"leave Test","Properties":{"SourceContext":"consoleApp01.Controllers.TestController"}}
---------------------------
知道的更多,不知道的也更多
---------------------------
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2020-01-17 关于面试