diff --git a/NLogStudy.WebCore2.Study/Controllers/ValuesController.cs b/NLogStudy.WebCore2.Study/Controllers/ValuesController.cs index 0bd7216..13fd2d0 100644 --- a/NLogStudy.WebCore2.Study/Controllers/ValuesController.cs +++ b/NLogStudy.WebCore2.Study/Controllers/ValuesController.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Logging; namespace NLogStudy.WebCore2.Study.Controllers { @@ -11,17 +10,17 @@ namespace NLogStudy.WebCore2.Study.Controllers [ApiController] public class ValuesController : ControllerBase { - private readonly ILogger logger; - public ValuesController(ILogger logger) + private readonly NLog.ILogger logger; + public ValuesController(INLogWrap logWrap) { - this.logger = logger; + this.logger = logWrap.logger; } // GET api/values [HttpGet] public ActionResult> Get() { - logger.LogError("我是测试错误"); - logger.LogDebug("我是Debug"); + var user = new WebUser() { Id=1,Name="王高峰",Role="Admin", Project="sywh"}; + logger.Error("错误日志 {@WebUser}", user); return new string[] { "value1", "value2" }; } @@ -50,4 +49,14 @@ namespace NLogStudy.WebCore2.Study.Controllers { } } + + public class WebUser + { + public int Id { get; set; } + public string Name { get; set; } + + public string Role { get; set; } + + public string Project { get; set; } + } } diff --git a/NLogStudy.WebCore2.Study/INLogWrap.cs b/NLogStudy.WebCore2.Study/INLogWrap.cs new file mode 100644 index 0000000..ec350ca --- /dev/null +++ b/NLogStudy.WebCore2.Study/INLogWrap.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace NLogStudy.WebCore2.Study +{ + public interface INLogWrap + { + NLog.ILogger logger { get; set; } + } +} diff --git a/NLogStudy.WebCore2.Study/NLogWrap.cs b/NLogStudy.WebCore2.Study/NLogWrap.cs new file mode 100644 index 0000000..b4ecab7 --- /dev/null +++ b/NLogStudy.WebCore2.Study/NLogWrap.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using NLog; +using NLog.Fluent; + +namespace NLogStudy.WebCore2.Study +{ + public class NLogWrap : INLogWrap + { + public NLogWrap() + { + logger = NLog.LogManager.GetLogger(typeof(T).FullName); + } + + public ILogger logger { get; set; } + + public void Error() + { + logger.Error().Message("TESTSA"); + } + } +} diff --git a/NLogStudy.WebCore2.Study/Startup.cs b/NLogStudy.WebCore2.Study/Startup.cs index 81ab404..e16259c 100644 --- a/NLogStudy.WebCore2.Study/Startup.cs +++ b/NLogStudy.WebCore2.Study/Startup.cs @@ -25,6 +25,8 @@ namespace NLogStudy.WebCore2.Study public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); + services.AddScoped(typeof(NLogWrap<>)); + services.AddScoped(typeof(INLogWrap<>), typeof(NLogWrap<>)); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. diff --git a/NLogStudy.WebCore2.Study/nlog.config b/NLogStudy.WebCore2.Study/nlog.config index 817defe..76e18c4 100644 --- a/NLogStudy.WebCore2.Study/nlog.config +++ b/NLogStudy.WebCore2.Study/nlog.config @@ -16,45 +16,35 @@ - + - - + - - - - - - - - - - + + + + + + + + + + - + \ No newline at end of file