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

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

生活随笔

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

asp.net

ASP.NET应用程序使用NLog记录日志

發(fā)布時(shí)間:2025/3/20 asp.net 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET应用程序使用NLog记录日志 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  在上一家公司就在使用NLog做日志記錄,調(diào)用方便又好配置,查看日志非常方便。所以在新公司新項(xiàng)目中就想到了它。背景交代完畢。

  先看配置,在ASP.NET應(yīng)用程序中,NLog會(huì)自動(dòng)掃描以下這幾個(gè)文件

1)web.config
2)與web.config在同一目錄下的web.nlog文件
3)程序目錄下的NLog.config文件
4)NLog.dll所在目錄下的NLog.dll.nlog文件

?  我們按第一種文件配置,那么下面就是web.config配置文件中的內(nèi)容

<configSections>

  <!--Nlog-->

  <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" restartOnExternalChanges="false"/>

</configSections>

<nlog>

  <include file="${basedir}/Configuration/NLog.config" />

</nlog>

  然后就是NLog.config。這個(gè)文件的內(nèi)容看名字就知道,是NLog的具體行為的配置信息,示例如下

<?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">
? <targets>
??? <target name="exceptionFile" xsi:type="File" fileName="${basedir}/Site_Log/${shortdate}/${logger}_${level}.txt" layout="${longdate}|${level:uppercase=true}|${logger}${newline}${message}${newline}"/>
??? <target name="console" xsi:type="ColoredConsole" layout="${date:format=HH\:mm\:ss}|${level}|${stacktrace}|${message}"/>
? </targets>
? <rules>
??? <logger name="*" minlevel="Debug" writeTo="exceptionFile"/>
??? <logger name="*" minlevel="Info" writeTo="console"/>
??? <logger name="*" minlevel="Trace" writeTo="console"/>
??? <logger name="*" minlevel="Fatal" writeTo="exceptionFile"/>
??? <logger name="*" minlevel="Error" writeTo="exceptionFile"/>
??? <logger name="*" minlevel="Warn" writeTo="exceptionFile"/>
? </rules>
< /nlog>

  下面我們一個(gè)一個(gè)配置節(jié)點(diǎn)來(lái)說(shuō)明

  首選說(shuō)明,NLog的配置文件大小寫(xiě)是敏感的,一定要注意。

< nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  命名空間可以配置,也可以不配置。如果配置了命名空間,那么就可以使用VS的智能感知了

<targets>
??? <target name="exceptionFile" xsi:type="File" fileName="${basedir}/Site_Log/${shortdate}/${logger}_${level}.txt" layout="${longdate}|${level:uppercase=true}|${logger}${newline}${message}${newline}"/>
??? <target name="console" xsi:type="ColoredConsole" layout="${date:format=HH\:mm\:ss}|${level}|${stacktrace}|${message}"/>
</targets>

  定義每種日志記錄方式的輸出。示例中定義了兩種輸出方式,分別是File和Console形式,

  name:節(jié)點(diǎn)/輸出名稱

  xsi:type:輸出類型

  fileName:日志的文件名

  layout:這是NLog比較出彩的一個(gè)特性,布局功能。格式是${}。在括號(hào)中可以定義日期、log記錄級(jí)別、調(diào)用程序等上下文信息。既可以規(guī)范的命名文件,也可以記錄在日志中,方便分析。

<rules>
??? <logger name="*" minlevel="Debug" writeTo="exceptionFile"/>
??? <logger name="*" minlevel="Info" writeTo="console"/>
??? <logger name="*" minlevel="Trace" writeTo="console"/>
??? <logger name="*" minlevel="Fatal" writeTo="exceptionFile"/>
??? <logger name="*" minlevel="Error" writeTo="exceptionFile"/>
??? <logger name="*" minlevel="Warn" writeTo="exceptionFile"/>
</rules>

  name:記錄日志的名字??梢允褂猛ㄅ浞?

  minlevel:記錄日志的最低級(jí)別,如配置為Debug,那么所有高于等于這個(gè)級(jí)別的日志都會(huì)寫(xiě)到日志文件里。當(dāng)然也可以指定maxlevel或者單一level,如level=“Debug”,那么只記錄Debug級(jí)別的信息。也可以指定levels,格式為levels=“Debug,Info”。

  writeTo:寫(xiě)入的目標(biāo)日志文件

  配置文件就這么多,接下來(lái)就應(yīng)該是程序調(diào)用了,聲明一個(gè)公共變量,如下?

public static Logger logger = LogManager.GetCurrentClassLogger();

  在該類的方法中使用

logger.Info("我是EddyPeng,感謝閱讀!")

?

  好了,NLog的簡(jiǎn)單應(yīng)用就到這里,相信如果只是簡(jiǎn)單的使用,這篇文章應(yīng)該就已經(jīng)足夠了。如果有更深入的學(xué)習(xí)需求,可以移步以下兩個(gè)地址

http://www.cnblogs.com/dflying/category/78087.html

http://nlog-project.org/wiki

轉(zhuǎn)載于:https://www.cnblogs.com/EddyPeng/archive/2012/08/24/2653634.html

總結(jié)

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

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