本文共 2701 字,大约阅读时间需要 9 分钟。
以下配置了二种写文件,第一种根据日期写文件yyyyMMdd.txt,第二种是写固定文件login.txt。
1, 下载Log4net组件:http://logging.apache.org/log4net/download.html
2,将log4net.dll加到项目引用中;
3,在app.config中添加相关配置信息,文件内容如下:
4,指定log4net使用.config文件来读取配置信息,有几种方法
(1) 在AssemblyInfo.cs最下面添加(其中XXXXX.exe.config为app.config在bin\Debug中生成的文件名,以实际为准):
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "./XXXXX.exe.config", ConfigFileExtension = "config", Watch = true)]
(2)在需要写日志的类的命名空间上面加加[assembly: log4net.Config.XmlConfigurator(Watch = true)]。
或者在包含Main()的类中即Program.cs的命名空间上面加[assembly: log4net.Config.XmlConfigurator(Watch = true)],例如
using System;using System.Collections.Generic;using System.Linq;using System.Text;using log4net;[assembly: log4net.Config.XmlConfigurator(Watch = true)]namespace Common{ public class Log { private static ILog logError = LogManager.GetLogger("Error.Logging"); private static ILog logDaily = LogManager.GetLogger("Daily.Logging"); private Log() { } public static void Error(LogType logType, string format, params object[] args) { logError.ErrorFormat(logType.ToString() + "|" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "|" + format, args); } public static void Info(LogType logType, string format, params object[] args) { logDaily.InfoFormat(logType.ToString() + "|" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "|" + format, args); } }}
5,在项目中使用Log4net:
//根据日期写文件yyyyMMdd.txt
log4net.ILog log = log4net.LogManager.GetLogger("Daily.Logging"); log.Info("这是一条普通信息"); //写固定文件login.txt log4net.ILog log2 = log4net.LogManager.GetLogger("Login.Logging");
log2.Info("用户张三登录");
-------------------------------------------------------------------------------------- 备注:
1、以上是WinForm的配置,WebForm配置也一样,只是换成web.config。
2、log4net的配置也可以单独写在一个配置文件中,如log4net.config。 下面为log4net.config例子:
打开项目目录Properties里面的文件AssemblyInfo.cs,在最后面添加一行 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)] 说明:log4net.config放在项目根目录,这里路径就可以直接这样写。
转载地址:http://fmzrf.baihongyu.com/