在.Net Core中,微軟提供的內置的日誌組件沒有實現將日誌記錄到文件、資料庫上。這裡使用NLog替代內置的日誌組件 1.在項目中引入NuGet包 NLog NLog.Web.AspNetCor ⒉在項目的根目錄中創建NLog配置文件 右擊項目“添加”->"Web配置文件"->新建“nlog.co ...
在.Net Core中,微軟提供的內置的日誌組件沒有實現將日誌記錄到文件、資料庫上。
這裡使用NLog替代內置的日誌組件
1 <?xml version="1.0" encoding="utf-8" ?> 2 <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 autoReload="true" 5 internalLogLevel="Warn" 6 internalLogFile="internal-nlog.txt"> 7 <!-- 要寫入的目標 --> 8 <targets> 9 <!--將日誌寫入到文件中--> 10 <target xsi:type="File" name="allfile" fileName="logs/all/nlog-all-${shortdate}.log" 11 layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" /> 12 <target xsi:type="File" name="ownFile-web" fileName="logs/my/nlog-cwiosapi-${shortdate}.log" 13 layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" /> 14 <target xsi:type="Null" name="blackhole" /> 15 </targets> 16 <rules> 17 <!--所有日誌,包括來自Microsoft的日誌--> 18 <logger name="*" minlevel="Trace" writeTo="allfile" /> 19 <!--跳過非關鍵的Microsoft日誌,因此只記錄自己的日誌--> 20 <logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" /> 21 <logger name="*" minlevel="Trace" writeTo="ownFile-web" /> 22 </rules> 23 </nlog>3.更改配置文件屬性 Configure
1 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 2 { 3 loggerFactory.AddNLog();//添加NLog 4 //引入Nlog配置文件 5 env.ConfigureNLog("nlog.config"); 6 }
4.通過註入的方式使用
1 public class StudentController : Controller 2 { 3 4 private readonly IStudentServices _service; 5 private readonly ILogger<StudentController> _logger; 6 /// <summary> 7 /// 構造器 8 /// </summary> 9 /// <param name="services"></param> 10 /// <param name="logger"></param> 11 public StudentController(IStudentServices services, ILogger<StudentController> logger) 12 { 13 _service = services; 14 _logger = logger; 15 } 16 #region base 17 /// <summary> 18 /// 添加 19 /// </summary> 20 /// <param name="entity"></param> 21 /// <returns></returns> 22 [HttpPost("AddByService")] 23 public PageResponse<Student> AddByService(Student entity) 24 { 25 _logger.LogInformation("測試111"); 26 return _service.Add(entity); 27 } 28 #endregion 29 }
5.配置appsettings.json
1 { 2 "Logging": { 3 "LogLevel": { 4 "Default": "Warning" 5 } 6 }, 7 "AllowedHosts": "*" 8 }6.生成的日誌