日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

.NET Core 2.0使用NLog

發(fā)布時(shí)間:2023/12/4 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET Core 2.0使用NLog 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近研究了一下NLog的使用方式,簡(jiǎn)單的入了一下門(mén)。

實(shí)現(xiàn)的功能,對(duì)于不同的日志,進(jìn)行不同的記錄,分別有系統(tǒng)運(yùn)行日志,和個(gè)人在程序中寫(xiě)的異常日志。發(fā)布之后放在了IIS上。進(jìn)行查看日志的信息

參考了兩篇博客。?

1.http://www.voidcn.com/blog/aojiancc2/article/p-6672009.html2.http://www.cnblogs.com/linezero/p/Logging.html

個(gè)人覺(jué)得還是第一篇寫(xiě)的詳細(xì)。第二篇可能是大神寫(xiě)的吧,一些細(xì)節(jié)并沒(méi)喲特別的注意到。

那兩篇博客已經(jīng)寫(xiě)很詳細(xì)了,我再重復(fù)一下,以及提醒一下像我一樣的小菜們,需要注意的事項(xiàng),以及個(gè)人在其中的一些疑惑。

首先我們建一個(gè)Core 2.0的項(xiàng)目,需要使用Visual Studio 2017 ?15.3,我們需要引入這些包,我們會(huì)用到。這是我的*.csproj文件的部分。(在這里需要注意下,如果是Core2.0的項(xiàng)目直接用2.0以上包,不然在vs中運(yùn)行是沒(méi)有問(wèn)題的,在windows環(huán)境中運(yùn)行也是沒(méi)有問(wèn)題的,但是到了Linux中就會(huì)出問(wèn)題,在 restore 時(shí),會(huì)給你報(bào)錯(cuò),讓你把包升級(jí)到2.0以上。這個(gè)問(wèn)題自己原來(lái)也沒(méi)有注意到,本來(lái)想著這些版本控制之類(lèi)的東西,肯定是向下兼容的。可是前兩天,在Linux上用docker 進(jìn)行測(cè)試發(fā)布的時(shí)候就出現(xiàn)了這個(gè)問(wèn)題。)

<ItemGroup>

? ? <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0-preview1-final" />

? ? <PackageReference Include="NLog" Version="5.0.0-beta09" />

? ? <PackageReference Include="NLog.Web.AspNetCore" Version="4.4.1" />

? ? <PackageReference Include="System.Text.Encoding.CodePages" Version="4.3.0" />

? </ItemGroup>

添加下邊的代碼

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

? ? ? ? {

? ? ? ? ? ? Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);//這是為了防止中文亂碼

? ? ? ? ? ? loggerFactory.AddNLog();//添加NLog

? ? ? ? ? ? env.ConfigureNLog("nlog.config");//讀取Nlog配置文件

? ? ? ? ? ?//other Code

? ? ? ? }

在ConfigServie方法中不需要進(jìn)行依賴注入的配置

由于這里我們添加了讀取Nlog的配置文件的信息

所以我們要添加“nlog.config的文件”

新建一個(gè) xml文件 名稱(chēng)為 你的?env.ConfigureNLog("nlog.config");里邊穿的字符串參數(shù)的名稱(chēng)。

<?xml version="1.0" encoding="utf-8" ?>

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"

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

? ? ? autoReload="true"

? ? ? internalLogLevel="Warn"

? ? ? internalLogFile="internal-nlog.txt">


? <!--define various log targets-->

? <targets>


? ? <!--write logs to file-->

? ? <target xsi:type="File" name="allfile" fileName="nlog-all-${shortdate}.log"

? ? ? ? ? ? ? ? ?layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />


? ? <target xsi:type="File" name="ownFile-web" fileName="nlog-my-${shortdate}.log"

? ? ? ? ? ? ? ? ?layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />


? ? <target xsi:type="Null" name="blackhole" />


? </targets>


? <rules>

? ? <!--All logs, including from Microsoft-->

? ? <logger name="*" minlevel="Trace" writeTo="allfile" />


? ? <!--Skip Microsoft logs and so log only own logs-->

? ? <logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />

? ? <logger name="*" minlevel="Trace" writeTo="ownFile-web" />

? </rules>

</nlog>

在HomeControler中進(jìn)行如下修改(我結(jié)合了他們兩個(gè)人的用法)


public class HomeController : Controller

? ? {

? ? ? ? private readonly ILogger<HomeController> _logger;

? ? ? ? static Logger Logger = LogManager.GetCurrentClassLogger();

? ? ? ? public HomeController(ILogger<HomeController> logger)

? ? ? ? {

? ? ? ? ? ? this._logger = logger;

? ? ? ? }

? ? ? ? public IActionResult Index()

? ? ? ? {

? ? ? ? ? ? Logger.Info("普通信息日志-----------");

? ? ? ? ? ? Logger.Debug("調(diào)試日志-----------");

? ? ? ? ? ? Logger.Error("錯(cuò)誤日志-----------");

? ? ? ? ? ? Logger.Fatal("異常日志-----------");

? ? ? ? ? ? Logger.Warn("警告日志-----------");

? ? ? ? ? ? Logger.Trace("跟蹤日志-----------");

? ? ? ? ? ? Logger.Log(NLog.LogLevel.Warn, "Log日志------------------");


? ? ? ? ? ? _logger.LogInformation("你訪問(wèn)了首頁(yè)");

? ? ? ? ? ? _logger.LogWarning("警告信息");

? ? ? ? ? ? _logger.LogError("錯(cuò)誤信息");

? ? ? ? ? ?// _logger.LogDebug(NLog.LogLevel.Fatal, "NLog 致命日志");

? ? ? ? ? ? return View();

? ? ? ? }

}

可能有人會(huì)疑問(wèn):構(gòu)造函數(shù)中的logger是怎么穿進(jìn)去的,沒(méi)有進(jìn)行依賴注入。它是通過(guò)app.addNlog()。進(jìn)行注入的。

之后我們修改一下我們的appsetting.json文件,把其中的日志級(jí)別調(diào)整為Information的。默認(rèn)是Debug的


{

? "Logging": {

? ? "IncludeScopes": false,

? ? "Debug": {

? ? ? "LogLevel": {

? ? ? ? "Default": "Information"

? ? ? }

? ? },

? ? "Console": {

? ? ? "LogLevel": {

? ? ? ? "Default": "Information"

? ? ? }

? ? }

? }

}

這時(shí)候我們直接運(yùn)行F5在/bin/Debug/netcoreapp2.0文件夾下是看不到日志文件的,在我們的項(xiàng)目的根目錄下打開(kāi)dos窗口。dotnet restore 一下,然后dotnet run 一下訪問(wèn)一下那個(gè)地址,之后再進(jìn)入那個(gè)文件夾就可以看到日志文件了。

對(duì)這兩個(gè)文件進(jìn)行說(shuō)明一下,第一個(gè)是網(wǎng)站運(yùn)行時(shí)所有的日志記錄,第二個(gè)只是有我們自己寫(xiě)的異常日志記錄。

由于我要放在iis上,所以我要發(fā)布一下,在VS中直接發(fā)布也行,用 dotnet publish 進(jìn)行發(fā)布也可以我用的是第一種,發(fā)布完成之后。這個(gè)時(shí)候我們?nèi)绻苯舆\(yùn)行的話,是沒(méi)有辦法運(yùn)行原因是發(fā)布的時(shí)候。沒(méi)有將我們寫(xiě)的nlog.config 文件放在發(fā)布的目錄中去,我們需要手動(dòng)的將這個(gè)文件復(fù)制到我們的發(fā)布的目錄中。

之后設(shè)置一下發(fā)布的這個(gè)文件夾的權(quán)限,把Everyone這個(gè)角色添加進(jìn)去,并給它讀寫(xiě)的權(quán)限。

之后在iis上綁定這個(gè)發(fā)布的目錄,在應(yīng)用程序池中把剛才綁定到iis上的網(wǎng)站,改為無(wú)托管模式。之后將網(wǎng)站重新啟動(dòng)一下,在瀏覽器中運(yùn)行輸入你綁定的域名。可以直接訪問(wèn)這個(gè)網(wǎng)址了。

如果出現(xiàn)一下錯(cuò)誤。請(qǐng)先進(jìn)入發(fā)布程序的那個(gè)文件夾,執(zhí)行一下dotnet run 如果項(xiàng)目可以成功運(yùn)行,請(qǐng)檢查一下everyone是否有讀寫(xiě)的權(quán)限,重啟一下iis服務(wù)器。如果都不行,請(qǐng)重新publish。就可以解決這個(gè)問(wèn)題。

這是我運(yùn)行之后的生成的日志文件目錄是publishoutput


原文地址:http://www.cnblogs.com/qulianqing/p/7222177.html


.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注

總結(jié)

以上是生活随笔為你收集整理的.NET Core 2.0使用NLog的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 九九热免费在线 | 日本少妇激情 | 日日干夜夜骑 | 91破处视频 | 草草影院在线观看视频 | 动漫毛片 | 爱操综合 | 9l视频自拍蝌蚪9l视频成人 | 蜜臀av性久久久久蜜臀av麻豆 | 粗大挺进潘金莲身体在线播放 | 九九国产 | 91亚洲精品乱码久久久久久蜜桃 | 久久超碰精品 | 国模精品视频一区二区 | 亚洲第一页乱 | 国产av成人一区二区三区 | 午夜在线精品 | 天天撸一撸 | 蜜臀一区二区三区精品免费视频 | 亚洲福利视频一区 | 羞羞的视频网站 | 91精品视频一区二区三区 | 丝袜五月天 | av亚洲在线 | 最近的中文字幕 | 亚洲国产av一区二区 | 亚洲天堂五月天 | 欧美一区二区三区激情视频 | 琪琪久久| 国产精品美女久久久久久久久 | 97超碰碰碰| 韩国黄色一级片 | 丁香五色月 | 无码成人精品区在线观看 | 91国内视频 | 免费看毛片网站 | 日韩福利| 在线观看视频一区 | 在线播放毛片 | 五月激情在线 | 性少妇mdms丰满hdfilm | 激情欧美一区二区 | 6080电视影片在线观看 | 国产色片在线观看 | 美女黄18以下禁止观看 | 亚洲无卡视频 | 亚洲午夜福利在线观看 | 草久av| 久久久久爱 | 20日本xxxxxxxxx46 欧美激情一级 | 精品一级少妇久久久久久久 | 97超碰在线播放 | 成人在线免费播放视频 | 久久92| 国产免费一区二区三区视频 | 日本一本一道 | 日韩欧美视频在线播放 | 污污污污污污www网站免费 | 超碰97免费 | 亚洲欧美成人综合 | 极品探花在线 | 亚洲色图10p | 色射射| 国内精品偷拍视频 | 扩阴视频| av毛片网站| 青青草草视频 | 免费在线看黄网站 | 亚洲gay视频 | 久久成人午夜 | 日本理论片午伦夜理片在线观看 | 国产精品嫩草影院桃色 | 免费看欧美一级特黄a大片 国产免费的av | 色综合久久久无码中文字幕波多 | 在线免费观看黄色小视频 | 青青草手机在线观看 | 国产精品2019| 欧美精品一区二区三区视频 | 五月婷婷开心中文字幕 | 佐佐木明希电影 | 中文字幕无码毛片免费看 | 蜜桃精品在线 | 国产视色| 欧美激情首页 | 一级免费a | 国产色在线视频 | 青青操免费 | 亚洲欧洲一区 | 四川丰满妇女毛片四川话 | 精品人妻一区二区三区四区在线 | 波多野结衣精品在线 | 久久久久久一区二区三区 | 91禁动漫在线| 懂色av一区二区三区免费观看 | 无码内射中文字幕岛国片 | 日视频| 重囗另类bbwseⅹhd | 欧美黑人欧美精品刺激 | 丝袜老师办公室里做好紧好爽 |