C# Asp.Net6 MVC,Log4net NLog 日志插件应用 及Windows、Liux环境下程序发布
C# Asp.Net6 MVC,Log4net NLog 日志插件应用 及Windows、Liux环境下程序发布
- 一、 MVC含义
- 二、数据传输
- 1、控制器向视图传输数据
- 三、日志组件Log4net
- 1、Nuget程序包引入
- 第一步:寻找log4net 程序包进行安装;
- 第二步:新建文件夹Log4net,添加Log4net.config配置文件
- 第三步:Log4net.config设置为始终复制
- 第四步:在Program.cs中配置日志包
- 2、使用Log4net记录文本日志
- 3、如何把日志记录到数据库
- 4、Log4net 日志级别配置
- 1、日志级别的日志调用
- 2、Log4net 日志级别在Log4net.config中的配置
- 四、日志组件NLog
- 1、NLog程序包的引入
- 第一步:在Nuget找到程序包进行安装(NLog.Web.AspNetCore)
- 第二步:新建log4net(什么名称都行)文件夹,添加NLog.config配置文件
- 第三步:设置NLog.config为始终复制
- 第四步:在Program.cs中配置日志包
- 2、怎么使用Nlog记录日志
- 3、怎么使用Nlog 将日志写入数据库
- 五、Asp.NetCore6项目多种启动方式
- 1、脚本启动
- 2、VS2022启动
- 2.1 控制台启动
- 2.2 IIS Express
- 六、IIS部署 .Net Core 程序
- 1 IIS安装及配置
- 1.1 IIS安装
- 1.2 依赖组件下载及配置
- 1.2.1 依赖组件下载
- 1.2.2 配置AspNetCoreModuleV2
- 2 部署.Net Core 应用程序
- 2.1 项目的编译
- 2.2 IIS 发布项目
- 七、Liux 配置及程序部署
- 1 Liux环境配置
- 2 应用程序部署到Liux环境
- 2.1 应用程序的编译
- 2.1.1 修改launchSettings.json配置文件中通过脚本启动的路径
- 2.1.2 程序发布
connected Services 服务依赖(第三方)
Properties 文件下 launchSettings.json 项目启动配置文件
wwwroad 存放静态文件
依赖项 管理Nuget程序包
appsettings.json 配置文件
一、 MVC含义
C 业务逻辑运算–调用其他的服务做业务逻辑
M 实体对象,保存数据,数据传输
V 视图,表现层
二、数据传输
1、控制器向视图传输数据
//控制器中方法的代码public IActionResult Index(){ViewBag.User1 = "测试1";ViewData["User2"] = "测试2";TempData["User3"] = "测试3";HttpContext.Session.SetString("User4", "测试4");Object User5 = "测试5";return View(User5);}
// **使用 HttpContext.Session时需要在Program.cs类中注册**
{builder.Services.AddSession();//注册session
}
app.UseSession();//new session//视图接收数据
<input value="@ViewBag.User1" />
<input value="@ViewData["User2"]" />
<input value="@TempData["User3"]" />
<input value="@Context.Session.GetString("User4")" />
<input value="@Model" /
三、日志组件Log4net
1、Nuget程序包引入
第一步:寻找log4net 程序包进行安装;
第二步:新建文件夹Log4net,添加Log4net.config配置文件
Log4net.config 下载链接: link 提取码:tply
第三步:Log4net.config设置为始终复制
第四步:在Program.cs中配置日志包
//配置日志包
{//NuGet包引入2项//1.Log4Net//2.Microsoft.Extensions.Logging.Log4Net.AspNetCorebuilder.Logging.AddLog4Net("Log4net/Log4net.config");//单独的配置文件需要配置文件路径,在项目下就不用配置
}
2、使用Log4net记录文本日志
//注意日志存放地址public class FirstController : Controller{//日志private readonly ILogger<FirstController> _logger;private readonly ILoggerFactory _logFactory;public FirstController(ILogger<FirstController> logger ,ILoggerFactory loggerFactory) {this._logger = logger;this._logger.LogInformation($"{this.GetType().Name},具体日志记录信息1");this._logFactory = loggerFactory;}public IActionResult Index(){//日志/* !--控制级别,由低到高:ALL | DEBUG | INFO | WARN | ERROR | FATAL | OFF比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录如果没有定义LEVEL的值,则缺省为DEBUG-- > *///第一种this._logger.LogInformation($"{this.GetType().Name},具体日志记录信息2");//第二种ILogger<FirstController> logger2=this._logFactory.CreateLogger<FirstController>();logger2.LogInformation($"{this.GetType().Name},执行记录");logger2.LogError($"{this.GetType().Name},Error信息");logger2.LogDebug($"{this.GetType().Name},Debug信息");}}
3、如何把日志记录到数据库
1、项目引用 System.data.Sqlclient (数据库不同引入不同);
2、在Log4net.config 的中添加appender 具体为写入数据库日志配置(注意数据库用户和密码),还需在中增加appender
<log4net><!--Log4net日志写入各数库配置参考地址:https://logging.apache.org/log4net/release/config-examples.html --><!--写入sqlserver库日志配置--><appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender"><bufferSize value="100" /><connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /><connectionString value="data source=[database server];initial catalog=[database name];integrated security=false;persist security info=True;User ID=[user];Password=[password]" /><commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" /><parameter><parameterName value="@log_date" /><dbType value="DateTime" /><layout type="log4net.Layout.RawTimeStampLayout" /></parameter><parameter><parameterName value="@thread" /><dbType value="String" /><size value="255" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%thread" /></layout></parameter><parameter><parameterName value="@log_level" /><dbType value="String" /><size value="50" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%level" /></layout></parameter><parameter><parameterName value="@logger" /><dbType value="String" /><size value="255" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%logger" /></layout></parameter><parameter><parameterName value="@message" /><dbType value="String" /><size value="4000" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%message" /></layout></parameter><parameter><parameterName value="@exception" /><dbType value="String" /><size value="2000" /><layout type="log4net.Layout.ExceptionLayout" /></parameter></appender><root><!--写入sqlserver库日志配置--><appender-ref ref="AdoNetAppender_SqlServer" /><level value="DEBUG" /></root>
</log4net>
4、Log4net 日志级别配置
1、日志级别的日志调用
ILogger<FirstController> logger2=this._logFactory.CreateLogger<FirstController>();logger2.LogInformation($"{this.GetType().Name},Info记录普通日志");logger2.LogDebug($"{this.GetType().Name},Debug记录调试日志");logger2.LogError($"{this.GetType().Name},Error记录异常日志");logger2.LogWarning($"{this.GetType().Name},Warn记录警告日志");logger2.LogTrace($"{this.GetType().Name},Trace记录");logger2.LogCritical($"{this.GetType().Name},Critical记录严重日志");
2、Log4net 日志级别在Log4net.config中的配置
<root><!--Log4net日志级别配置--><!--控制器级别由低到高 ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF--><!--当level value="ALL" 记录所有日志--><!--当level value="OFF" 不会记录任何日志--><!--当level value="FATAL" (FATAL非常严重的问题日志)只记录FATAL日志--><!--当level value="ERROR" (ERROR异常日志)只记录ERROR FATAL日志--><!--当level value="WARN" (WARN警告日志)只记录WARN ERROR FATAL日志--><!--当level value="DEBUG"(DEBUG调试状态) 只记录DEBUG WARN ERROR FATAL日志--><!--当level value="INFO"(INFO普通日志) 只记录INFO WARN ERROR FATAL日志--><level value="ALL" />
</root>
四、日志组件NLog
1、NLog程序包的引入
第一步:在Nuget找到程序包进行安装(NLog.Web.AspNetCore)
第二步:新建log4net(什么名称都行)文件夹,添加NLog.config配置文件
NLog.config配置文件 下载
提取码:tply
第三步:设置NLog.config为始终复制
第四步:在Program.cs中配置日志包
#region NLog
{//需要引入命名空间 using NLog.Web;//Nuget:引入 NLog.Web.AspNetCorebuilder.Logging.AddNLog("Log4net/NLog.config");//单独的配置文件需要配置文件路径,在项目下就不用配置
}
#endregion
2、怎么使用Nlog记录日志
public class FirstController : Controller{//日志private readonly ILogger<FirstController> _logger;private readonly ILoggerFactory _logFactory;public FirstController(ILogger<FirstController> logger ,ILoggerFactory loggerFactory) {this._logger = logger;this._logger.LogInformation($"{this.GetType().Name},具体日志记录信息1");this._logFactory = loggerFactory;}public IActionResult Index(){//日志/* !--控制级别,由低到高:ALL | DEBUG | INFO | WARN | ERROR | FATAL | OFF比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录如果没有定义LEVEL的值,则缺省为DEBUG-- > *///第一种this._logger.LogInformation($"{this.GetType().Name},具体日志记录信息2");//第二种ILogger<FirstController> logger2=this._logFactory.CreateLogger<FirstController>();logger2.LogInformation($"{this.GetType().Name},执行记录");logger2.LogError($"{this.GetType().Name},Error信息");logger2.LogDebug($"{this.GetType().Name},Debug信息");}}
3、怎么使用Nlog 将日志写入数据库
1、项目引用 System.data.Sqlclient (数据库不同引入不同);
2、数据库日志表结构
INSERT INTO [SystemLogs](createDate, origin,logLevel,message,stackTrace)VALUES(@createDate,@origin,@logLevel,@message,@stackTrace)
五、Asp.NetCore6项目多种启动方式
1、脚本启动
dotnet run
2、VS2022启动
2.1 控制台启动
使用控制台启动,将在地址栏中弹出一个控制台,项目将调用Properties→launchSettings.json中的配置端口
2.2 IIS Express
启动时直接调动DLL文件,项目将调用Properties→launchSettings.json中的配置端口
六、IIS部署 .Net Core 程序
1 IIS安装及配置
1.1 IIS安装
打开启用或关闭Windows功能,将Internet Information Services下面全部勾选安装
1.2 依赖组件下载及配置
1.2.1 依赖组件下载
IIS 部署需要安装ASP.NET Core Module v2 官网地址: 访问
建议下载Windows 下的Hosting Bundle ( 网盘资源 提取码:tply)进行安装
1.2.2 配置AspNetCoreModuleV2
打开IIS 点击根目录,点击 模块 ,点击配置模板,找到 AspNetCoreModuleV2 进行添加
2 部署.Net Core 应用程序
2.1 项目的编译
第一步:选中项目,点击发布
第二步:有6种发布方式,这里选择了文件夹的方式
第三步:点击发布
2.2 IIS 发布项目
打开IIS,点击添加网站,配置应用程序地址及其他信息。
七、Liux 配置及程序部署
1 Liux环境配置
1、准备CentOS–或者Liux云服务器
2、准备文件传输工具:建议MobaXterm
3、保证Liux服务器可以直接访问 (本地 ping)
4、安装.net 6运行环境
//依次执行命令
yum update
yum install net-tools注册镜像地址
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm安装ASP.NET Core SDK
sudo yum update
sudo yum install dotnet-sdk-6.0关闭防火墙
systemctl disable firewalld
2 应用程序部署到Liux环境
2.1 应用程序的编译
2.1.1 修改launchSettings.json配置文件中通过脚本启动的路径
2.1.2 程序发布
第一步 :VS选择程序,点击发布,发布方式选择文件夹
第二步:将编译后的文件通过MobaXterm工具直接拖到root目录下
第三步:通过CD 命令进入程序文件目录下
第四步:执行dotnet *.dll --urls=http://192.168.1.1:7879 & 命令可以启动( nohup dotnet *.dll --urls=http://192.168.1.1:7879 & 可以做到守护进程)
Asp.NET6练习资源: 百度网盘下载提取码:tply
C# Asp.Net6 MVC,Log4net NLog 日志插件应用 及Windows、Liux环境下程序发布相关推荐
- ASP.NET MVC的最佳日志记录库
目录 介绍 4个日志记录库 log4net Log4net记录文本文件中 Log4net记录到数据库中 NLOG Nlog日志记录在文本文件中 NLog日志记录到数据库中 Serilog Serilo ...
- 在ASP.NET MVC应用中开发插件框架(中英对照)
[原文] Developing a plugin framework in ASP.NET MVC with medium trust [译文] 在ASP.NET MVC应用中开发一个插件框架 I'v ...
- mysql日志输出到syslog_在chroot环境下将MySQL日志输出到syslog
好久没写博客了,这几个月一直在学习nodejs,angularjs,做一些前端开发,目前还是学习阶段,等有一些体会再来分享. 这两天碰到的一个问题是,我们的产品给客户后,客户要统一管理日志,MySQL ...
- php日志文件过大,Windows服务器系统下Apache的error.log文件过大的解决办法
今天打开我的电脑的时候,突然发现硬盘空间少了很多,仔细检查各个文件夹大小后发现,Apache文件夹的log目录占用了将近7个G的空间,把文件夹下的error.log删除重启Apache发现,error ...
- Windows 2003环境下IIS下ASP+ACCESS的配置方法
很多初学者刚从网上下载一个ASP网站或程序,都不知道如何运行,ASP并不像html一样双击就可以用IE打开,看到网页内容,ASP是微软的WEB服务器端脚本,代码经过服务器编译后输出html到客户端的浏 ...
- 离线安装vscode插件(没有网络的环境下安装插件)
使用场景 大家或许会使用vscode连接远程服务器,或许会遇到服务器无法连接外网,从而无法安装vscode常用插件. 如果满足条件,本教学将会帮你解决这个问题. 方法 总共分为三步,首先下载插件文件( ...
- my97显示服务器时间,封装Web Uploader 上传插件、My97DatePicker、百度 编辑器 的使用 (ASP.NET MVC)...
Web Uploader: WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优 ...
- 看一下基于ASP.NET MVC的开源社区项目Orchard
昨天介绍了基于ASP.NET MVC的框架Catharsis,今天给大家介绍的是基于ASP.NET MVC的一个开源社区项目Orchard,本篇主要介绍一下Orchard是什么,如何下载安装以及安装过 ...
- 一起谈.NET技术,在Mono 2.8上部署ASP.NET MVC 2
我们知道Mono 2.8对ASP.NET MVC 2的完全支持,下面我们就来测试下在Mono 2.8上部署ASP.NET MVC 2应用程序.我的环境是Opensuse 11.3,通过以下命令部署好M ...
最新文章
- 第四周项目二-太乐了
- GIS专业核心课程电子教材配套实验数据汇总(持续更新)
- css 背景属性 0302
- 使用maven-war-plugin 打包时排除不需要的文件
- centos 安装tmux
- 拓端tecdat|python缺失值处理案例分析:泰坦尼克数据
- 开启Github之旅
- cadence allegro - 焊盘命名规则 -unfinished -unfinished-unfinished
- JavaScript里的闭包(摘自JavaScript高级程序设计)
- 深度相机原理及坐标系转换
- 数据链路层 - MTU 、ARP协议
- Ubuntu系统中IPFS环境的配置
- yolo数据集剪裁:切割目标框并将该框内的其他目标一并提取并转为可用数据集
- html个人中心网页,个人中心页面.html
- 怎样把视频中的音频提取成mp3?
- windows Outlook邮箱无法连接服务器
- 计算机应用基础本科试题及答案,计算机应用基础课程(本科)网考模拟试题
- MYSQL 唯一约束
- Chapter1 Numpy基础
- 新姿势 - 海贼王之伟大航路