博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Log4net使用笔记
阅读量:4964 次
发布时间:2019-06-12

本文共 2441 字,大约阅读时间需要 8 分钟。

 

编写人:CC阿爸

 

2013-10-29

 

  •  近来在处理项目时候,想将系统的操作日志以文本的形式记录下来,方便对系统操作记录进行追踪。

 

经过在网上搜索部分解决方案,大致可以归纳如下,并在当前环境下测试成功

 

首先说明一点的是,log4net解决的问题是提供一个记录日志的框架,它提供了向多种目标写入的实现,比如利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)中,一般来说我们只需要提供一个描述性的字符串,然后log4net就会自动提供有关运行时的一些信息。

Log4Net的版本仍是1.2.10,有.NET1.0和.NET1.1和.NET2.0版本,如果有正在使用高于.NET2.0开发的也不用担心,可以直接引用这个类库,像在.NET2.0中开发一样,它的网址是:

关于在Web中支持的问题

在我们开发项目时都会使用到config文件,可以在config文件中配置log4net。这一点Web项目和WinForm项目都是一样的。需要注意的是,因为在Web项目中一般以较低权限的角色来运行Web项目的,所以在使用文件型日志时要注意不要放在本项目根文件夹之外。

 

  •   在config文件中的配置

要使用log4net,首先要在config文件的<configSections>节点中增加配置(如果没有这个节点请手动增加),如下:

 

 

可将config文件配置在app.config中,也可以单独生成一个config文件,我在这里是单独使用了log4net.config

<

 

  •  要在AssemblyInfo.cs 新增

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

 

或者:[assembly: log4net.Config.XmlConfigurator()]  (把log4net的配置在web的配置文件时)

之前根据一示例设置了以下后出现登录的问题:

[assembly: log4net.Config.DOMConfigurator(ConfigFileExtension = "config", Watch = true)]

就出现了调试能登录系统,但编译后不能登录,系统老提示网络设置错误。具体是因何原因引起。仍没有弄明白,还望大家知道的能告知。所以不要使用这种方法。

 

 

  •  程序中调用:

 

                       

//创建日志记录组件实例                        ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);                        //ILog log = log4net.LogManager.GetLogger(typeof(Program));                        ////记录错误日志                        //log.Error("error", new Exception("在这里发生了一个异常,Error Number:" + random.Next()));                        //记录严重错误                        //log.Fatal("fatal", new Exception("在发生了一个致命错误,Exception Id:"+random.Next()));                         //记录一般信息                        //log.Info("提示:系统正在运行");                        //记录调试信息                        //log.Debug("调试信息:debug");                        //记录警告信息                       log.Warn("警告:warn");

 

 

  •  系统根目录下就会生成(完成)

 

 

另:有一个有关Log4Net使用说明的博客可参考。

 

转载于:https://www.cnblogs.com/bribe/p/3451657.html

你可能感兴趣的文章
iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
查看>>
toad for oracle中文显示乱码
查看>>
SQL中Group By的使用
查看>>
错误org/aopalliance/intercept/MethodInterceptor解决方法
查看>>
Pylint在项目中的使用
查看>>
使用nginx做反向代理和负载均衡效果图
查看>>
access remote libvirtd
查看>>
(4) Orchard 开发之 Page 的信息存在哪?
查看>>
ASP.NET中 GridView(网格视图)的使用前台绑定
查看>>
深入了解Oracle ASM(二):ASM File number 1 文件目录
查看>>
Boosting(提升方法)之AdaBoost
查看>>
Binding object to winForm controller through VS2010 Designer(通过VS2010设计器将对象绑定到winForm控件上)...
查看>>
Spring Boot实战笔记(二)-- Spring常用配置(Scope、Spring EL和资源调用)
查看>>
SwaggerUI+SpringMVC——构建RestFul API的可视化界面
查看>>
springmvc怎么在启动时自己执行一个线程
查看>>
C# 通知机制 IObserver<T> 和 IObservable<T>
查看>>
Code of Conduct by jsFoundation
查看>>
C#小练习ⅲ
查看>>
电源防反接保护电路
查看>>
arraylist
查看>>