.NET Core使用Nlog记录日志

1.引入Nuget包

Nlog

Nlog.Web.AspNetCore

2.添加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      <!--define various log targets-->
 8      <targets>
 9         <!--write logs to file-->
10          <target xsi:type="File" name="allfile" fileName="nlog-all-${shortdate}.log"
11                   layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
12
13          <target xsi:type="File" name="ownFile-web" fileName="nlog-my-${shortdate}.log"
14                   layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
15         <target xsi:type="Null" name="blackhole" />
16   </targets>
17      <rules>
18          <!--All logs, including from Microsoft-->
19          <logger name="*" minlevel="Trace" writeTo="allfile" />
20
21        <!--Skip Microsoft logs and so log only own logs-->
22          <logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />
23          <logger name="*" minlevel="Trace" writeTo="ownFile-web" />
24   </rules>
25 </nlog>

3.使用nlog

在StartUp.cs中配置配置日志中间件

 1   public void Configure(IApplicationBuilder app, IHostingEnvironment env,ILoggerFactory loggerFactory)
 2         {
 3             app.UseStaticFiles();
 4             //使用NLog作为日志记录工具
 5             loggerFactory.AddNLog();
 6             //引入Nlog配置文件
 7             env.ConfigureNLog("nlog.config");
 8             if (env.IsDevelopment())
 9             {
10                 app.UseDeveloperExceptionPage();
11             }
12             app.UseMvc();
13         }

4.在程序中中使用nlog写日志

下面是注入到控制器中的示例

 1  public class ValuesController : Controller
 2     {
 3
 4         private ILogger<ValuesController> logger;
 5         public ValuesController(ILogger<ValuesController> _logger)
 6         {
 7             logger = _logger;
 8         }
 9         // GET api/values
10         [HttpGet]
11         public string Get()
12         {
13             logger.LogError("123");
14             return "value";
15         }

调用该api,然后查看文件目录

5.日志文件生成在指定目录下

大家会发现文件是生成在项目目录下的,日志多的时候,会导致文件目录太乱

此时,只需更改nlog.config中的内容如下即可生成在logs目录里

 <targets>
        <!--write logs to file-->
         <target xsi:type="File" name="allfile" fileName="logs/all/nlog-all-${shortdate}.log"
                  layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />

         <target xsi:type="File" name="ownFile-web" fileName="logs/my/nlog-my-${shortdate}.log"
                  layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
        <target xsi:type="Null" name="blackhole" />
  </targets>

原文地址:https://www.cnblogs.com/qmhuang/p/8305915.html

时间: 2024-11-07 21:37:35

.NET Core使用Nlog记录日志的相关文章

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

在之前的文章中介绍了如何在ASP.NET Core使用NLog,本文为您介绍在ASP.NET Core使用NLog记录到Microsoft Sql Server 1.我们需要添加依赖: NLog.Web.AspNetCore System.Data.SqlClient 2.添加nlog.config文件 1 <?xml version="1.0" encoding="utf-8" ?> 2 <nlog xmlns="http://www.

.Net Core 使用NLog记录日志到文件和数据库

NLog 记录日志是微软官方推荐使用. 接下来,通过配置日志记录到文件和Sql Server数据库. 第一步:首先添加包NLog.Config (可通过微软添加包命令Install-Package 包名进行添加,也可以通过管理NuGet程序包进行添加),添加成功后会生成NLog.config配置文件.并对该配置文件进行配置.详细配置可参考Git上 NLog说明. 一下是我个人配置. 1 <?xml version="1.0" encoding="utf-8"

ASP.NET Core使用NLog记录日志

1.根目录新建nlog.config配置文件 <?xml version="1.0"?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" internalLogLevel="Warn&qu

Nlog 记录日志到 sqlite

最近研究了一下Nlog这个日志框架,这里记录一下如何将日志写到sqlite中. 第一步:使用NuGet获取Nlog和Sqlite 第二步:在sqlite中创建一个database,这里我用了SQLite Expert Personal可视化工具 第三步:在Nlog.config中配置target节点,这个在Nlog的官网中没有查找到相应的例子,但网上有一篇博客有相应的记载,所以就先参考下: <target name="Database" xsi:type="Databa

Asp.Net Core中使用NLog记录日志

2019/10/28, Asp.Net Core 3.0, NLog 4.6.7, NLog.Web.AspNetCore 4.9.0 摘要:NLog在asp.net网站中的使用,NLog日志写入数据库,NLog日志写入文件 需求 1.日志自动写入到数据库.写入到文件 2.appsettings.json数据库连接更改后,不需要去改NLog中的连接地址,启动网站或项目时自动检测变动然后去更改,以appsettings.json为准,保持同步. 3.写入日志时,除了NLog自带的字段,新增LogT

.net core nlog记录日志

1.通过nuget 查找 下载 NLog.Extensions.Logging 2.配置nlog.config文件 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-inst

.net core使用NLog+Elasticsearch记录日志

添加Nuget引用 需要添加两个Nuget引用:NLog.Web.AspNetCore和NLog.Targets.ElasticSearch 配置 新增nlog.config配置文件,并设置属性生成操作为内容,复制到输出目录为始终复制,内容如下. <?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd

C# 使用NLog记录日志

NLog是一个记录日志组件,和log4net一样被广泛使用,它可以将日志保存到文本文件.CSV.控制台.VS调试窗口.数据库等.最近刚用到这个组件,觉得不错,水一篇. 下载 通过Nuget安装NLog,你也可以同时安装NLog.Config,它会在项目目录下帮你建立一个配置文件NLog.config,不过不需要,我们直接手动建立一个,你也可以将配置的信息写入到 App.config/Web.config,我比较喜欢独立出来,不与其它配置掺和在一起. 配置 在项目根目录下新建一个NLog.conf

转:C# 使用NLog记录日志

原文:http://www.cnblogs.com/felixnet/p/5498759.html NLog是一个记录日志组件,和log4net一样被广泛使用,它可以将日志保存到文本文件.CSV.控制台.VS调试窗口.数据库等.最近刚用到这个组件,觉得不错,水一篇. 下载 通过Nuget安装NLog,你也可以同时安装NLog.Config,它会在 项目目录下帮你建立一个配置文件NLog.config,不过不需要,我们直接手动建立一个,你也可以将配置的信息写入到 App.config/Web.co