一 startup
1.1 安装dotnet6 webapi 项目。
使用vs studio 创建项目 。
1.2 控制器,hello world
controller 目录下,创建UserController
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace WebApplication1.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UserController : ControllerBase
{
[HttpGet]
public string Get()
{
return "hello world";
}
}
}
运行一下。 使用swagger
1.3 配log4Net 日志。
讲个段子,面向日志开发。 (通过日志分析,定位问题)
1.3.1 依赖项 》 管理Nuget程序包 搜log4Net 安装。
1.3.2 设置配置
logging.apache.org/log4net/ind… 官网抄例子,这里创建文件日志。
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log4\log.txt" />
<!---->
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd.txt" />
<maxSizeRollBackups value="20" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="rollingAppend" />
</root>
</log4net>
1.3.3 注入,并使用。
//program.cs 注入
builder.Logging.AddLog4Net("CfgFile/log4net.Config");
//控制器,注入日志,使用使用。
namespace WebApplication1.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UserController : ControllerBase
{
//注入
private readonly ILogger<UserController> _logger;
public UserController(ILogger<UserController> logger)
{
_logger = logger;
}
[HttpGet]
[Route("api/[controller]/hello")]
public string Get()
{
//使用。
_logger.LogInformation("hello world2222");
return "hello world";
}
}
}
运行后,查看效果 。