1、根目录新建nlog.config配置文件

  1. <?xml version="1.0"?>
  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="${basedir}\logs\internal-nlog.txt">
  7.  
  8. <extensions>
  9. <add assembly="NLog.Web.AspNetCore"/>
  10. </extensions>
  11.  
  12. <targets>
  13. <target name="allfile" xsi:type="File"
  14. fileName="${basedir}\logs\GDStationaryNetCore\${shortdate}.log"
  15. encoding="utf-8"
  16. layout="[${longdate}][${machinename}][${level}] ${message} ${exception}" />
  17. </targets>
  18. <rules>
  19. <!--All logs, including from Microsoft-->
  20. <logger name="*" minlevel="Trace" writeTo="allfile" />
  21.  
  22. <!--Skip Microsoft logs and so log only own logs-->
  23. <logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />
  24. <logger name="*" minlevel="Trace" writeTo="ownFile-web" />
  25. </rules>
  26. </nlog>

2、添加NLog包

Install-Package NLog.Web.AspNetCore

3、Configure配置

  1. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
  2. {
  3. if (env.IsDevelopment())
  4. {
  5. app.UseDeveloperExceptionPage();
  6. }
  7.  
  8. //
  9. env.ConfigureNLog("nlog.config");
  10. //安装System.Text.Encoding.CodePages
  11. Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
  12. //add NLog to ASP.NET Core
  13. loggerFactory.AddNLog();
  14. //add NLog.Web
  15. // 修改为 CreateWebHostBuilder(args).UseNLog().Build().Run();
  16. //app.AddNLogWeb();
  17.  
  18. app.UseMvc();
  19. }

Main方法里配置使用

  1. public static void Main(string[] args)
  2. {
  3. CreateWebHostBuilder(args).UseNLog().Build().Run();
  4. }

4、使用

  1. public class ValuesController : ControllerBase
  2. {
  3. private readonly ILogger<ValuesController> _logger;
  4.  
  5. public ValuesController(ILogger<ValuesController> logger = null)
  6. {
  7. if (null != logger)
  8. {
  9. _logger = logger;
  10. }
  11. }
  12.  
  13. // GET api/values
  14. [HttpGet]
  15. public ActionResult<IEnumerable<string>> Get()
  16. {
  17. _logger.LogInformation($"测试一条日志.");
  18. return new string[] { "value1", "value2" };
  19. }
  20.  
  21. }

ASP.NET Core使用NLog记录日志的更多相关文章

  1. ASP.NET Core使用NLog记录日志到Microsoft Sql Server

    在之前的文章中介绍了如何在ASP.NET Core使用NLog,本文为您介绍在ASP.NET Core使用NLog记录到Microsoft Sql Server 1.我们需要添加依赖: NLog.We ...

  2. asp.net core 使用NLog记录日志到txt文件

    一.使用VisualStudioCode创建一个webapi项目(也可以是mvc等).一个类库(用于封装记录日志方法,当然如果使用依赖注入到控制台项目,就不需要此类库了). 二.在类库中添加NLog. ...

  3. asp.net core结合NLog搭建ELK实时日志分析平台

    0.整体架构 整体架构目录:ASP.NET Core分布式项目实战-目录 一.介绍ELK 1.说明(此篇ELK采用rpm的方式安装在服务器上)-牛刀小试 承接上一篇文章的内容准备部署ELK来展示asp ...

  4. ASP.NET Core 添加NLog日志支持(VS2015update3&VS2017)

    1.创建一个新的ASP.NET Core项目 2.添加项目依赖 NLog.Web.AspNetCore 3.在项目目录下添加nlog.config文件: <?xml version=" ...

  5. ASP.NET Core使用log4net记录日志

    .NET常用的日志组件有NLog.Log4net等,.NET CORE下微软也自带了日志组件,到目前为止还没用过,而我本人常用的是log4net,下面简单讲讲.NET CORE下怎么使用log4net ...

  6. ASP.NET Core之NLog使用

    1.新建ASP.NET Core项目 1.1选择项目 1.2选择.Net版本 2. 添加NLog插件 2.1 通过Nuget安装 2.2下载相关的插件 3.修改NLog配置文件 3.1添加NLog配置 ...

  7. .Net Core使用NLog记录日志

    参见:https://github.com/NLog/NLog.Web/wiki/Getting-started-with-ASP.NET-Core-2 大致步骤: Nuget中引用NLog及NLog ...

  8. asp.net core项目 Nlog直接写入集群ElasticSearch的配置方法

    1.NuGet 项目引用 NLog.Web.AspNetCore NLog.Targets.ElasticSearch 2.nlog.config配置文件: <?xml version=&quo ...

  9. Asp.Net Core使用NLog+Mysql的几个小问题

    项目中使用NLog记录日志,很好用,之前一直放在文本文件中,准备放到db中,方便查询. 项目使用了Mysql,所以日志也放到Mysql上,安装NLog不用说,接着你需要安装Mysql.Data安装包: ...

随机推荐

  1. 跟我学算法-吴恩达老师的logsitic回归

    logistics回归是一种二分类问题,采用的激活函数是sigmoid函数,使得输出值转换为(0,1)之间的概率 A = sigmoid(np.dot(w.T, X) + b ) 表示预测函数 dz ...

  2. libcurl使用心得-包括下载文件不存在处理相关(转)

    libcurl使用心得 Libcurl为一个免费开源的,客户端url传输库,支持FTP,FTPS,TFTP,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP,跨平台,支持 ...

  3. gen_projective_mosaic(Halcon例子)

    * This example program shows how several images of a PCB can be combined * into a large mosaic image ...

  4. Gerrit 系统初探 (已转移到 https://steemit.com/gerrit/@linvictor88/gerrit )

    Gerrit 使用简介        Gerrit,一种免费.开放源代码的代码审查软件,使用网页界面.利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或 ...

  5. 一些jquery常用方法

    1.jquery实现平滑滚动到指定锚点 $(document).ready(function() { $("a.topLink").click(function() { $(&qu ...

  6. 【BZOJ2806】Cheat 【广义后缀自动机+单调队列优化dp+二分】

    题意 有M篇标准作文组成了一个作文库(每篇作文都是一个01的字符串),然后给出N篇作文(自然也是01字符串).如果一个长度不小于L的串在作文库中出现过,那么它是熟悉的.对于某一篇作文,我们要把它分为若 ...

  7. java文档打包成压缩包并且下载

    需求,根据产品ID查询产品详情,产品详情会返回产品的一些文案,以及图片的url.需要做成,将文案信息记录在一个txt文档中,然后图片下载到文件夹,最后下载到本地,下载后自动删除刚才生成的文件夹以及文件 ...

  8. mybatis调用自定义函数

    <select id="getFunction" parameterType="int" resultType="string"> ...

  9. 在Linux下删除文件及文件夹(rm)

    删除目录.文件 rm(remove) 功能说明:删除文件或目录.语 法:rm [-dfirv][--help][--version][文件或目录...]补充说明:执行rm指令可删除文件或目录,如欲删除 ...

  10. Redis多API开发实践

    一.Redis API支持 Redis提供了各类开发语言的API,方便开发语言连接使用Redis. https://redis.io/clients 官方网站提供了不同开发语言的API程序. Pyth ...