前面的几篇文章已经比较完整地解释了怎么使用Log4Net,但是我们可能需要将Log4Net的日志类封装在自己的类库中,以便C/S或B/S程序进行调用。下面的示例程序简单地分为两层,一个是应用程序层WebApplication_testLog4Net,另一个就是公用类库Common。

1、首先,我们还是在类库中先添加Log4net的引用

2、直接在类库Common中的AssemblyInfo.cs中添加Log4Net的配置文件地址。

3、log4net.config还是放在应用程序那层(如左图),以便正确地输出到应用程序的输出目录。如果放在类库层的话,它就会输出到类库的生成目录,而Log4Net只会到应用程序的输出目录去找对应的配置文件。记得要设置Log4net的属性(如右图)。

     

4、这样我们就可以直接在应用程序中使用已经自己封装的Log4Net类了。记得要先引用Common类库。在下面我创建一个按钮,然后将当前时间作为日志输出。

按钮对应的代码

protected void Button2_Click(object sender, EventArgs e){LogHelper.WriteLog("输出一些信息"+DateTime.Now.ToString());}

输出结果

示例程序下载

转载于:https://www.cnblogs.com/amylis_chen/p/6005401.html

在C#代码中应用Log4Net(五)将Log4Net正确地封装在自己的类库中并进行调用相关推荐

  1. java中异常处理try块的说法正确的是_下面关于Java中异常处理try块的说法正确的是( )?...

    下面关于Java中异常处理try块的说法正确的是( )? 答:可能抛出异常的方法调用应放在try块中. try块后通常应有一个catch 块,用来处理try块中抛出的异常. 滴定起点pH值提高,滴定突 ...

  2. jsp中去掉超链接下划线吗,在JSP中,若要在JSP正确使用标签: ,在jsp中声称的taglib指令为: 下划线处应该是() 答案:x...

    相关问题 T型服装的主要特色是什么? 对跨栏运动员来讲,()因素相对非常重要.: 跨栏 运动员 因素 以下关于指令系统的叙述中,正确的是().: 外部,指令,EXO, 系列,PLC,中,加法,指令, ...

  3. Log4Net五步走

    本文不是教你全面了解log4net,本文只是希望教会你按步就班,照糊芦画瓢般就会用log4net 1,引入log4net.dll组件 2,建立一个配置文件 两种方法,一种是在Web.Config或Ap ...

  4. JavaScript中this的五种绑定方式详解

    1 this的五种绑定方式 1.1 默认绑定 默认绑定是指当函数调用时,没有为其指定对象上下文,此时会将该函数的this绑定到全局对象(window对象).自ES5有了严格模式之后,默认绑定方式又分为 ...

  5. Java最新版本中另外发现五项漏洞

    就在Java披露两项安全漏洞的仅仅一周之后,一家波兰安全企业再次发布报告,称在Java最新版本中另外发现五项漏洞.在旧有漏洞的影响之下,***者能够利用新问题绕过Java的沙箱机制并安装恶意软件. S ...

  6. 在C#的类库中使用log4net

    在C#的类库中使用log4net 1,在类库中添加对log4net的引用.并且在app.config(web.config)中添加如下代码: 添加的位置你懂的.  <section name=& ...

  7. uml和模式应用 pdf_总结分享:PHP中常见的五种设计模式

    设计模式不仅代表着更快开发健壮软件的有用方法,而且还提供了以友好的术语封装大型理念的方法.例如,您可以说您正在编写一个提供松散耦合的消息传递系统,也可以说你正在编写名称为 观察者 的模式. 用较小的示 ...

  8. 孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档

    孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库 ...

  9. python和php互动_PHP中常见的五种设计模式

    您可能感兴趣的文章: 设计模式只是为 Java架构师准备的 - 至少您可能一直这样认为.实际上,设计模式对于每个人都非常有用.如果这些工具不是 "架构太空人" 的专利,那么它们又是 ...

最新文章

  1. 朴素贝叶斯预测是否为垃圾短信
  2. Android 10.0 PackageManagerService(二)权限扫描-[Android取经之路]
  3. 重做日志和控制文件的多路复用
  4. HDU2023 求平均成绩
  5. No Team Selected:A team must be selected to run 'ProjectName' on iPhoneName
  6. (计算机组成原理)第二章数据的表示和运算-第二节5:定点数乘法运算(原码/补码一位乘法)
  7. centos php 显示错误提示,Centos下编译php的典型错误及解决
  8. python如何制作登录密码_python实战系列之模拟用户密码登陆系统(一)
  9. Kubernetes详解(十四)——Pod对象生命周期
  10. java qq空间权限控制_QQ空间访问权限设置方法
  11. 基于Web的仓库管理系统的设计与实现
  12. UCGUI信息处理机制
  13. 苹果11蓝牙配对不成功怎么办_蓝牙配对不成功怎么办,苹果手机蓝牙配对不成...
  14. 计算机在档案管理出现的问题,浅议档案管理中存在的问题及解决措施_档案管理员资格证...
  15. 游戏服务器中的ID生成策略
  16. 服务端验证防水墙验证码向远程发送请求并验证的方法
  17. 第三章 本地锁和分布式锁的区别
  18. 找出1000瓶牛奶中有毒的牛奶
  19. select()函数
  20. Ubuntu18 网速显示 插件 显示在状态栏

热门文章

  1. via logo html,HTML5 Audio Description (via screenreader)
  2. 分式求二阶导数_近10年高考数学“导数大题”分析,附2021备考建议
  3. JVM内存结构|虚拟机栈
  4. java 申请不定长度数组_java中申请不定长度数组ArrayList的方法
  5. python爬虫和医学数据_医学论文中的数据有什么软件可以对之进行收集和处理吗?爬虫?...
  6. mysql 连接 中文_大佬们E语言连接MYSQL输出中文乱码怎么破
  7. 做方差分析需要正态性检验吗_检验工序要做PFMEA吗?检验如何做PFMEA?
  8. wordpress文章添加css样式,给WordPress文章循环加上CSS类方便实现各种页面布局
  9. linux刷除U盘grub,删除linux系统出现grub rescue
  10. php chmod 777 chown,linux命令中chown与chmod的区别