asp.net core webapi 使用serilog
1.创建asp.net core web api 项目
2.完成后安装如下依赖包
Serilog Serilog.AsPNetCore Serilog.Sinks.File
3.安装完成后 开始进行如下的配置
4.在programs中配置如下内容
//使用日志
builder.Host.UseSerilog((context, logger) =>//Serilog
{
string date = DateTime.Now.ToString("yyyy-MM-dd");//按时间创建文件夹
logger.ReadFrom.Configuration(context.Configuration);
logger.Enrich.FromLogContext();
logger.WriteTo.File($"Logs/{date}/log.txt", rollingInterval: RollingInterval.Hour);//按小时分日志文件
});
5.在appsettings.json中配置如下内容
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Default": "Information",
"System": "Information",
"Microsoft": "Information"
}
},
"WriteTo": [
{ "Name": "Console" },
{
"Name": "Async",
"Args": {
"configure": [
{
"Name": "txt",
"Args": {
"outputTemplate": "Date:{Timestamp:yyyy-MM-dd HH:mm:ss.fff} LogLevel:{Level} Class:{SourceContext} Message:{Message}{Exception}{NewLine}",
"rollingInterval": "4"
}
}
]
}
}
]
}
6.然后新建controller 具体步骤不再描述
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace TestSerilogContent.Controllers
{
[Route("api/[controller]/[action]")]
[ApiController]
public class ValuesController : ControllerBase
{
private readonly ILogger<ValuesController> _logger;
public ValuesController(ILogger<ValuesController> logger)
{
_logger = logger;
}
[HttpGet]
public string GetContent() {
var result = GetString();
return result;
}
private string GetString() {
var tt = "测试内容123";
_logger.LogInformation(tt);
return tt;
}
}
}
8. 点击运行 然后在swagger页面 点击接口 进行测试 等测试完成后 关闭页面 查看日志具体的内容