nlog mysql_Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验

建好项目之后干什么呢、当然得添加引用了。你可以随心所欲的使用Nuget或者命令进行安装

Install-Package NLog -Version 4.5.7

Install-Package NLog.Web.AspNetCore -Version 4.5.4

上面说了,NLog只需要简单地修改配置就可以使用,那接下来就是新建一个NLog配置文件了。你可以通过Nuget或者程序包控制台进行安装,也可以自己新建一个NLog.config文件。这里还是通过程序包控制台进行安装吧

Install-Package NLog -Version 4.5.7

安装后看到项目目录多了一个NLog.config文件。这里需要注意,右键设置一下这个NLog.config的属性为“始终复制”

a8b950da744029d35438202d6e3d44b6.png

打开Nlog.config文件,看看里面的结构,发现有两个重要节点,一个是声明目标 一个是声明规则。如下图所示,我配置了一个写入文件,一个写入mysql的target.并定义了不同的写入规则,大家可以根据实际需要参照着自定义规则以及target.

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

autoReload="true"

throwExceptions="true"

internalLogLevel="Off">

dbProvider="MySql.Data.MySqlClient.MySqlConnection, MySql.Data"

connectionString="server=127.0.0.1;Database=nlog;user id=root;password=123456;SslMode=none"

>

insert into nlog.log (

Application, Logged, Level, Message,

Logger, CallSite, Exception

) values (

@Application, @Logged, @Level, @Message,

@Logger, @Callsite, @Exception

);

上面的代码中我是以写入mysql为例进行的NLog配置。下面就可以进行简单地使用了。首先需要在。首先在Startup中的Configure中来加入中间件:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)

{

if (env.IsDevelopment())

{

app.UseDeveloperExceptionPage();

}

//使用NLog作为日志记录工具

loggerFactory.AddNLog();

//引入Nlog配置文件

env.ConfigureNLog("Nlog.config");

//app.AddNLogWeb();

app.UseMvc();

}

在Program中进行如下配置:

public class Program

{

public static void Main(string[] args)

{

CreateWebHostBuilder(args).Build().Run();

}

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>

WebHost.CreateDefaultBuilder(args)

.UseNLog()

.UseStartup();

}

下面就可以在代码中愉快的玩耍了,

private readonly Logger nlog = LogManager.GetCurrentClassLogger(); //获得日志实;

// GET api/values

[HttpGet]

public ActionResult Get()

{

nlog.Log(NLog.LogLevel.Debug, $"yilezhu测试Debug日志");

nlog.Log(NLog.LogLevel.Info, $"yilezhu测试Info日志");

try

{

throw new Exception($"yilezhu故意抛出的异常");

}

catch (Exception ex)

{

nlog.Log(NLog.LogLevel.Error, ex, $"yilezhu异常的额外信息");

}

return "yilezhu的返回信息";

}

下面运行起来项目,然到数据库里面就可以看到记录的日志信息如下所示:

7a1ea325998c6fb9e76a42362952136e.png

这里大家可能会问,为什么没有Debug信息输出呢,这是因为我们上面NLog配置设置的记录日志的最低级别为Info.所以比Info级别小的Debug信息不会记录。如果想记录的话就把这个级别设置成Debug或者比Debug小的Trace就可以记录了。如下图所示:

a7c6f0dcdb5d8412f18d1dc5008c474a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值