在C#的类库中使用log4net
在C#的类库中使用log4net
1,在类库中添加对log4net的引用.并且在app.config(web.config)中添加如下代码:
添加的位置你懂的。
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
<!-- This section contains the log4net configuration settings -->
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log/" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd-HH".txt"" />
<StaticLogFileName value="false"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="时间:%date 等级:%p 内容:%message%newline" />
<header value="
----------------------header--------------------------
" ></header>
<footer value="
----------------------footer--------------------------
" ></footer>
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>
2,然后可以在类库中添加一个如下的类文件:
public class LogUtility
{
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public static void WriteInfo(string strInfo)
{
log.Info(strInfo);
}
public static void WriteDebugInfo(string strInfo)
{
log.Debug(strInfo);
}
}
3,然后在别的项目中添加对此项目的引用(项目的config文件需要手动复制到主项目的目录中)。就可以用如下的语句来输出日志信息了:
Utility.LogUtility.WriteDebugInfo("debug info!");
这样应该就可以在类库文件中使用log4net了。只是在C#与C++中有些不同,C#中配置文件可以自动生成到主程序文件的目录下,而在C++中,则需要手工拷贝入主程序文件中。
在C#的类库中使用log4net相关推荐
- 在C#代码中应用Log4Net(五)将Log4Net正确地封装在自己的类库中并进行调用
前面的几篇文章已经比较完整地解释了怎么使用Log4Net,但是我们可能需要将Log4Net的日志类封装在自己的类库中,以便C/S或B/S程序进行调用.下面的示例程序简单地分为两层,一个是应用程序层We ...
- 将log4net封装在类库中的方法
今天为了把log4net完全封装在一个类库中,折腾了半天,找了一些资料,但都不能工作,琢磨了半天,好不容易才成功,所以记录下来. 添加一个类库,添加log4net.dll的引用 在类库中添加一个log ...
- 在C#代码中应用Log4Net系列教程(附源代码)
Log4Net应该可以说是DotNet中最流行的开源日志组件了.以前需要苦逼写的日志类,在Log4Net中简单地配置一下就搞定了.没用过Log4Net,真心不知道原来日志组件也可以做得这么灵活,当然这 ...
- 在ASP.NET MVC中使用Log4Net记录异常日志,出错时导向到静态页
本篇体验在ASP.NET MVC 4中使用Log4Net记录日志. 通过NuGet安装Log4Net. 需求是:当出错时导向到Error.html静态页面,Log4Net记录错误信息. 大致的思路是: ...
- 在.net开发中使用Log4Net组件
1 简介 1.1 Log4net的优点: 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管理员可能需要有一套强大的日志系统来诊断 ...
- [召集] .NET Framework基本类库中的设计模式
活动背景 现在研究设计模式的人很多,研究.NET设计模式的也不在少数.但大家的研究都是靠自己YY一个应用场景,然后写一些"样例"代码实现之.这离实际应用太遥远了. Anders L ...
- VS2010下创建WEBSERVICE,第二天 ----你会在C#的类库中添加web service引用吗?
本文并不是什么高深的文章,只是VS2008应用中的一小部分,但小部分你不一定会,要不你试试: 本人对于分布式开发应用的并不多,这次正好有一个项目要应用web service,我的开发环境是vs2008 ...
- 在web项目中的类库中引用webservice 在部署后更改webservice路径的方法
在一次开发过程中发现这样的问题: 我引用外部的webservice连接并不是在solution里面的web层,而是在solution里面的类库中引用的,原本在web中引用自动生成的引用路径会在web. ...
- 你会在C#的类库中添加web service引用吗?
你会在C#的类库中添加web service引用吗? 本文并不是什么高深的文章,只是VS2008应用中的一小部分,但小部分你不一定会,要不你试试: 本人对于分布式开发应用的并不多,这次正好有一个项目要 ...
最新文章
- Photoshop五步制作水晶按钮
- Ruby的module(模块)
- pjsip for Android的编译
- 创建DLL、Lib以及使用DLL、Lib
- c语言函数库——ispunct函数 判断字符是否为标点符号或特殊字符
- 请问WCF 跟 WebService之间异同
- [html] 请说说input的inputmode属性有什么应用场景?
- 减少HTTP请求之合并图片详解(大型网站优化技术)
- mysql怎么从1开始递增
- gradle 编译失败,出现 permgen space的问题
- Visual Studio中创建混合移动应用程序解决方案Xamarin Portable Razor
- android sdk集合 下载,Android SDK下载列表(含海内下载)-下
- Python 高级:人工智能概述
- AUTOCAD——Excel表格导入CAD、CAD合并两兄弟
- 【阿里Java技术进阶】官方钉群直播大全(持续更新)...
- SDRAM中数据掩码的作用(DQM)
- 那些会休息的人是如何度过假期的?
- 服务器遇到大流量攻击的处理过程
- Prompt Engineering 入门(一)
- Encode, Tag, Realize: High-Precision Text Editing翻译