到http://logging.apache.org/官方下载最新版,里面有帮组文档和案例程序,为了能在项目中使用,我们需要把log4net.dll加到项目中去。


1
<?
xml version="1.0" encoding="utf-8"
?>
2 < log4net >
3 <!-- 定义输出到文件中 -->
4 < appender name ="LogFileAppender" type ="log4net.Appender.FileAppender" >
5 <!-- 定义文件存放位置 不指定目录就是保存在项目的根目录下 -->
6 < file value ="log4dao.txt" />
7 <!-- 是否覆盖,默认是追加true -->
8 < appendToFile value ="true" />
9 < rollingStyle value ="Date" />
10 < datePattern value ="yyyyMMdd-HH:mm:ss" />
11 < layout type ="log4net.Layout.PatternLayout" >
12 <!-- 每条日志末尾的文字说明 -->
13 < footer value ="by xqh" />
14 <!-- 输出格式 -->
15 < conversionPattern value ="记录时间:%date 日志级别:%-5level 操作类:%logger - 操作状态:%message%newline" />
16 </ layout >
17 </ appender >
18
19 < root >
20 <!-- <level value="WARN" /> -->
21 <!-- 文件形式记录日志 -->
22 < appender-ref ref ="LogFileAppender" />
23 <!-- 控制台控制显示日志 -->
24 <!-- <appender-ref ref="ConsoleAppender" /> -->
25 <!-- Windows事件日志 -->
26 <!-- <appender-ref ref="EventLogAppender" /> -->
27 <!-- 记录到数据库 -->
28 <!-- <appender-ref ref="AdoNetAppender_SqlServer" /> -->
29 </ root >
30
31 </ log4net >
2 < log4net >
3 <!-- 定义输出到文件中 -->
4 < appender name ="LogFileAppender" type ="log4net.Appender.FileAppender" >
5 <!-- 定义文件存放位置 不指定目录就是保存在项目的根目录下 -->
6 < file value ="log4dao.txt" />
7 <!-- 是否覆盖,默认是追加true -->
8 < appendToFile value ="true" />
9 < rollingStyle value ="Date" />
10 < datePattern value ="yyyyMMdd-HH:mm:ss" />
11 < layout type ="log4net.Layout.PatternLayout" >
12 <!-- 每条日志末尾的文字说明 -->
13 < footer value ="by xqh" />
14 <!-- 输出格式 -->
15 < conversionPattern value ="记录时间:%date 日志级别:%-5level 操作类:%logger - 操作状态:%message%newline" />
16 </ layout >
17 </ appender >
18
19 < root >
20 <!-- <level value="WARN" /> -->
21 <!-- 文件形式记录日志 -->
22 < appender-ref ref ="LogFileAppender" />
23 <!-- 控制台控制显示日志 -->
24 <!-- <appender-ref ref="ConsoleAppender" /> -->
25 <!-- Windows事件日志 -->
26 <!-- <appender-ref ref="EventLogAppender" /> -->
27 <!-- 记录到数据库 -->
28 <!-- <appender-ref ref="AdoNetAppender_SqlServer" /> -->
29 </ root >
30
31 </ log4net >
关于配置文件有两种方式,一种是用自带的web.config或app.config,另一种就是自定义的配置文件,在这里我选择自定义的(个人爱好,没有原因)。
对于log4net的日志详细说明请参考http://www.cnblogs.com/dragon/archive/2005/03/24/124254.html,在这里要感谢这篇文章的作者写的那么详细。
现在开始在项目中使用log4net,项目采用我自己的spring.net里的项目。
目的 要在BLL中使用日志功能
第一 在BLL的程序集里添加下面代码


[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net/log4_dal.xml",
ConfigFileExtension = "txt", Watch = true)]
ConfigFileExtension = "txt", Watch = true)]
第二 在构造函数中实现ILog接口


1
ILog log = null;
2 //UserService userService1 = null;
3
4 public UserBLL()
5 {
6 //在容器里拿到UserService实例对象 同时把相应的属性注入
7 userService = (IUserService)ctx.GetObject("exampleService");
8 //userService1 = (UserService)ctx.GetObject("UserService");
9 log = LogManager.GetLogger(typeof(UserBLL));
10 }
2 //UserService userService1 = null;
3
4 public UserBLL()
5 {
6 //在容器里拿到UserService实例对象 同时把相应的属性注入
7 userService = (IUserService)ctx.GetObject("exampleService");
8 //userService1 = (UserService)ctx.GetObject("UserService");
9 log = LogManager.GetLogger(typeof(UserBLL));
10 }
第三 在具体业务中使用


1
///
<summary>
2 /// 添加用户
3 /// </summary>
4 /// <param name="user"></param>
5 public User AddUser(User user)
6 {
7 string msg = string .Empty;
8 User u = userService.AddUser(user);
9
10 if (u != null )
11 msg = " 添加用户成功 " ;
12 else
13 msg = " 添加用户失败 " ;
14 log.Info(msg);
15 return u;
16 }
2 /// 添加用户
3 /// </summary>
4 /// <param name="user"></param>
5 public User AddUser(User user)
6 {
7 string msg = string .Empty;
8 User u = userService.AddUser(user);
9
10 if (u != null )
11 msg = " 添加用户成功 " ;
12 else
13 msg = " 添加用户失败 " ;
14 log.Info(msg);
15 return u;
16 }
结果
一个简单的日志就完成了。
欢迎大家交流!