log4net 是dotnet平台下的一个日记记录组件。

一  NuGet中安装log4net包:

二 配置log4net.config文件

配置文件内容:

<?xml version="1.0" encoding="utf-8" ?>
<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="DEBUG"/>
<!--文件形式记录日志-->
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
</configuration>

  

三 配置 XmlConfigurator

  有多种方法,这里因为是在web项目下,所以我放在Global.asax文件中

 void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4net.config"));
}

四  使用

public partial class web_Pay : BasePage
{
static readonly ILog log = LogHelper.GetLogger(typeof(web_Pay));
protected void Page_Load(object sender, EventArgs e)
{
log.Error("error");
log.Info("info");
}
}

在这里我对 ILog进行了一层封装

    public  interface ILog
{ void Debug(object message); void Debug(object message, Exception exception); void Error(object message); void Error(object message, Exception exception); void Fatal(object message); void Fatal(object message, Exception exception); void Info(object message); void Info(object message, Exception exception); void Warn(object message); void Warn(object message, Exception exception);
} public sealed class LogWrapper : ILog
{
private readonly log4net.ILog _logger;
internal LogWrapper(Type type)
{
_logger = log4net.LogManager.GetLogger(type);
} public void Debug(object message)
{
_logger.Debug(message);
} public void Debug(object message, Exception exception)
{
_logger.Debug(message, exception);
} public void Error(object message)
{
_logger.Error(message);
} public void Error(object message, Exception exception)
{
_logger.Error(message, exception);
} public void Fatal(object message)
{
_logger.Fatal(message);
} public void Fatal(object message, Exception exception)
{
_logger.Fatal(message, exception);
} public void Info(object message)
{
_logger.Info(message);
} public void Info(object message, Exception exception)
{
_logger.Info(message, exception);
} public void Warn(object message)
{
_logger.Warn(message);
} public void Warn(object message, Exception exception)
{
_logger.Warn(message, exception);
} } public static class LogHelper
{
public static ILog GetLogger(Type type)
{
return new LogWrapper(type);
}
}

log4net 入门使用的更多相关文章

  1. Log4net入门(帮助类篇)

    在前几篇Log4net入门文件的讲述过程中,我们在使用log4net的类中都要编写如下一行代码: private static log4net.ILog log = log4net.LogManage ...

  2. Log4net入门(WCF篇)

    在上一篇Log4net入门(ASP.NET MVC 5篇)中,我们讲述了如何在ASP.NET MVC 5项目中使用log4net.在这一篇中,我们将讲述如何在WCF应用中使用log4net,为了讲述这 ...

  3. Log4net入门(ASP.NET MVC 5篇)

    在前4篇Log4net入门文章中,我们讲述了log4net的一些简单用法,在这一篇中我们主要讲述如何在ASP.NET MVC 5项目中将日志信息写入SQL Server数据库中. 一.创建最简单的AS ...

  4. Log4net入门(SQL篇)

    我们在Log4net入门(回滚日志篇)中详细讲述了如何将日志信息输出到日志文件中,在这一篇中,我们将讲述如何将日志文件写入SQL Server数据库,以方便我们分析统计日志信息. 首先,我们在SQL ...

  5. Log4net入门(日志文件篇)

    在上一篇Log4net入门(控制台篇)中,我们将日志信息输出到控制台中,在这一篇中,我们将描述如何将日志信息写到文件中.要将日志信息写入文件非常简单,只需要在Log4net.config配置文件中添加 ...

  6. 记录日志好习惯——Log4net入门(WCF篇)

    本篇是在学习了“编码之道”的Log4net入门(WCF篇)http://www.cnblogs.com/yonghuacui/p/6181864.html之后,总结了一些自认为比较重要的细节.顺便把创 ...

  7. Log4net入门(回滚日志文件篇)

    在上一篇Log4net(日志文件篇)中,我们使用"log4net.Appender.FileAppender"将日志信息输出到一个单一的文件中,随着应用程序的持续使用,该日志文件会 ...

  8. Log4net入门(控制台篇)

    Log4net是Apache公司的log4j™的.NET版本,用于帮助.NET开发人员将日志信息输出到各种不同的输出源(Appender),常见的输出源包括控制台.日志文件和数据库等.本篇主要讨论如何 ...

  9. Log4net入门使用

    简介 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题. 经验表明,日志 ...

  10. log4net入门

    简介 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题. 经验表明,日志 ...

随机推荐

  1. 初学者上传文件到github

    http://blog.csdn.net/steven6977/article/details/10567719 我的github是wzb19960208,怕忘了=.=

  2. android 2.3.3 配置github的两步骤

    第一步:配置GitHub的总账号(Version Control) 第二步:配置具体的仓库(仓库名称你从GitHub网上添加)

  3. RHCE7 学习里程-3基本命令

    一.centos7  基本命令 #创建文件 touch a.b #创建文件夹 mkdir abc #删除文件 rm -f a.b #删除空文件夹 rm -rf abc #重命名文件 mv 源文件 新文 ...

  4. Win7 资源管理器右键固定的文件夹不见了

    把常用的文件夹固定到任务栏的资源管理器右键菜单中 某天突然就不见了! %APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations “最近" ...

  5. 跟我学算法-tensorflow 实现神经网络

    神经网络主要是存在一个前向传播的过程,我们的目的也是使得代价函数值最小化 采用的数据是minist数据,训练集为50000*28*28 测试集为10000*28*28 lable 为50000*10, ...

  6. 设置VS2010和IE8 调试ATL控件<转>

    VS2010设置篇: 设置VS2010 通过IE8 调试ATL的ActiveX控件的步骤如下: 设置项目属性 在项目的属性页对话框中选中“配置属性—>调试”,在右边填入下列参数: 命令      ...

  7. Android真机调试手动添加程序包的LogCat

    android真机调试有时候看LogCat 时,有时候那个跑的本程序的LogCat 没有出现而是 出现的是" All messages (no filters) " .此时 的Lo ...

  8. 如何创建dll以及使用

    使用dll的好处: 隐藏了代码,公开了功能. 在VS2017中,创建一个DLL工程项目,将你的代码写入.cpp文件中,然后比如  这样: //////////// test.cpp #include ...

  9. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 15—Anomaly Detection异常检测

    Lecture 15 Anomaly Detection 异常检测 15.1 异常检测问题的动机 Problem Motivation 异常检测(Anomaly detection)问题是机器学习算法 ...

  10. 使用heap profiler进行内存占用分析

    最近在项目中用到了google的heap profiler工具来分析内存占用,效果非常显著,因此在这里写一篇博客记录一下使用过程中遇到的一些问题. heap profiler依赖于tcmalloc,所 ...