Log4Net的第一个案例
刚开始接触C#一些关键的技术,目前参与的项目中使用到了Log4Net这一个优秀的日志工具,因为以前没有接触过,就把第一次搭建案例的步骤记录下来,与大家分享:
- Log4Net的简单介绍
- Log4Net的下载
- 具体案例
- 总结一下
Log4Net的简单介绍
[log4net](http://baike.baidu.com/link?url=uJHeV_eY0EeTRcO5pq6nCv7ize9kVWYkzUXbxXNBaBu7CjUbU3LDbcJ772mYpC-Oh3pUMAoJjEHOMJFs_i5HXq)库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。log4net是Apache软件基金会Apache Logging Services工程的一部分。Apache日志服务工程致力于为程序调试和审计提供跨语言的日志服务。
Log4Net的下载
http://logging.apache.org/log4net/
## 具体案例
1、创建项目 TestLog4Net
2、引入下载好的dll文件
3、创建配置文件
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<!--定义输出到文件中-->
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<!--定义文件存放位置-->
<file value="..\\..\\log\\"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.txt'"/>
<staticLogFileName value="false"/>
<param name="MaxSizeRollBackups" value="100"/>
<layout type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明-->
<!--输出格式-->
<!--样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info-->
<conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别: %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/>
</layout>
</appender>
<root>
<level value="ERROR"/>
<!--文件形式记录日志-->
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
4、创建公共类LogHelper.cs
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace TestLog4Net
{
public class LogHelper
{
/// <summary>
/// 输出日志到Log4Net
/// </summary>
/// <param name="t"></param>
/// <param name="ex"></param>
public static void WriteLog(Type t, Exception ex)
{
log4net.ILog log = log4net.LogManager.GetLogger(t);
log.Error("Error", ex);
}
/// <summary>
/// 输出日志到Log4Net
/// </summary>
/// <param name="t"></param>
/// <param name="msg"></param>
#region static void WriteLog(Type t, string msg)
public static void WriteLog(Type t, string msg)
{
log4net.ILog log = log4net.LogManager.GetLogger(t);
log.Error(msg);
}
#endregion
}
}
5、主程序调用测试:
//第一种记录用法
//(1)FormMain是类名称
//(2)第二个参数是字符串信息
LogHelper.WriteLog(typeof(MainWindow), "测试Log4Net日志是否成功!");
MessageBox.Show("测试完毕。。");
6、测试是否成功
总结一下
运行时如果出现没有引用Log4Net的错误时,首先应该检查是否引入Log4Net.dll文件,其次是配置项目属性:
![这里写图片描述](https://img-blog.csdn.net/20160926144314802)
参考文章: