.net6日志组件以及启动

368 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,点击查看活动详情

前言

从今天以后我会开始更新关于.net6相关的文章,今天我要讲解的是关于.net6写日志,主要是文本日志和数据库日志,让我们一起来看一看吧。

一、日志组件Log4net

一.文本日志

1.Nuget引入程序包

log4net 
​
Microsoft.Extensions.Logging.Log4Net.AspNetCore

2.准备好配置文件(去官网下)

3.配置读取配置文件生效

program.cs
​
bulider.Logging.AddLog4Net("CfigFile/log4net.Config");

4.注入得到log4net实例开始写日志

二、Log4Net日志写SqlServer

1.Nuget引入程序包

sysytem.Data.SqlClient

2.修改配置文件,支持写数据库

3.初始化数据库日志表

4.注入写日志测试

三、Log4Net日志级别

ALL<DEBUG<INFO<WARN<ERROR<FATAL<OFF

写入日志时,我们只需要发生异常的日志,所以我们需要设置level

1 .日志级别:控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF

2 .配置文件配置级别:类似于一个日志级别的记录过滤

log4net.config
​
<root>
<level value="INFO"/>
<appendiing-ref ref="rollingAppender"/>
<appendiing-ref ref="AdoNetAppender_SqlServer"/>
</root>

二、日志组件NlLog

1.Nuget引入程序包

2.增加配置文件,配置NLog生效

program.cs
​
bulider.Logging.AddLog4Net("CfigFile/NLog.Config");

3.注入得到NLog生效,写文本日志

NLog写数据库

  1. Nuget引入程序集 2. 初始化数据库日志表 3. 配置写日志到数据库 4. 测试应用

多方式启动项目

脚本启动 visual studio 2022启动 NLog.Web.AspNetCore System.Data.SqlClient dotnet run dotnet dll名称 -参数=参数值

但是这第二种方式通过调用.dll文件启动项目,会发送静态文件丢失的问题。

静态文件丢失问题

  1. 样式丢失 2. 设置静态文件读取 3. 新问题

解决办法:我找到的解决办法就是将根目录的wwwroot文件复制到dll文件目录上,这是因为项目解析时只会编译到根目录下,所以dll目录上也需要,这样能解决大部分样式问题,但是缺少style.css文件,我暂时还没有找到解决方法,后面我再告诉大家。

下面是通过配置IIS启动项目:

IIS部署准备

  1. IIS安装 2. ASPNETCore 部署IIS 程序包安装

IIS部署 1 新建网站 2 发布网站---需要通过VS发布项目 3 配置项目 4 访问网站 https: 12、IIS部署VS脚本启动

其实没区别--本质还是脚本启动了

总结:

小编觉得.net6会开启c#的春天,而且.net的配置比java简单好多,也就是说更不容易劝退,对于新手来说更友好,但是现在.net对c#高级语法 要求更高了,也相对来说加高了门槛,这也是我们需要认真钻研和学习的地方,大家加油,一步步来,未来可期!