NLog 在winform和webform下使用快速攻略
Greenerycn 2008-10-25
一、软件
网站:http://www.nlog-project.org/
下载:http://sourceforge.net/project/showfiles.php?group_id=116456
说明:如果是.Net 2.0使用, 请下载nlog-1.0-net-2.0.zip
里面的bin目录下有多个,c# 使用nlog.dll
文件:nlog.dll
大小:248K
版本:1.0.0.505
二、 WinForm下使用
添加nlog.dll的引用,然后在nlog.dll的文件夹下创建nlog.dll.nlog
内容如下:
- <?xmlversion="1.0"encoding="utf-8"?>
- <nlogxmlns="http://www.nlog-project.org/schemas/NLog.xsd"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <targets>
- <targetname="console"xsi:type="ColoredConsole"
- layout="${date:format=HH\:mm\:ss}|${level}|${stacktrace}|${message}"/>
- <targetname="file"xsi:type="File"fileName="${basedir}/log.txt"
- layout="[${date:format=yyyy-MM-ddHH\:mm\:ss}][${level}]${message}${exception}"/>
- </targets>
- <rules>
- <loggername="*"minlevel="debug"writeTo="console"></logger>
- <loggername="*"minlevel="debug"writeTo="file"></logger>
- </rules>
- </nlog>
在你要写日志的类中如下使用:
- usingSystem;
- usingSystem.Collections.Generic;
- usingSystem.ComponentModel;
- usingSystem.Data;
- usingSystem.Drawing;
- usingSystem.Text;
- usingSystem.Windows.Forms;
- namespacenlogDemo
- {
- publicpartialclassForm1:Form
- {
- NLog.Loggerlog=NLog.LogManager.GetCurrentClassLogger();
- publicForm1()
- {
- InitializeComponent();
- }
- privatevoidbutton1_Click(objectsender,EventArgse)
- {
- log.Info("hi");
- }
- }
- }
三、WebForm,Asp.net下的使用方法
同样添加nlog.dll,不过这次的配置文件放到web.config中
如下:
- <?xmlversion="1.0"?>
- <configuration>
- <configSections>
- <sectionname="nlog"type="NLog.Config.ConfigSectionHandler,NLog"/>
- </configSections>
- <appSettings/>
- <connectionStrings/>
- <system.web>
- <compilationdebug="false">
- </compilation>
- <authenticationmode="Windows"/>
- </system.web>
- <nlogxmlns="http://www.nlog-project.org/schemas/NLog.xsd"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <targets>
- <targetname="file"xsi:type="File"fileName="${basedir}/App_Data/log.txt"
- layout="[${date:format=yyyy-MM-ddHH\:mm\:ss}][${level}]${message}${exception}"/>
- </targets>
- <rules>
- <loggername="*"minlevel="Debug"writeTo="file"/>
- </rules>
- </nlog>
- </configuration>
使用方法如下,default.aspx.cs
- usingSystem;
- usingSystem.Collections.Generic;
- usingSystem.Web;
- usingSystem.Web.UI;
- usingSystem.Web.UI.WebControls;
- usingDevExpress.XtraCharts;
- publicpartialclass_Default:System.Web.UI.Page
- {
- NLog.Loggerlog=NLog.LogManager.GetCurrentClassLogger();
- protectedvoidPage_Load(objectsender,EventArgse)
- {
- log.Info("hi");
- }
- }
更加详细的使用可以参考:
- NLog Doc http://www.nlog-project.org/
- NLog文章系列 http://www.cnblogs.com/dflying/archive/2006/12/15/593158.html