`
zxlyecf2
  • 浏览: 133212 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

简单配置log4Net记录系统日志

阅读更多

这里简单介绍关于如何使用log4Net来开速配置日志记录

首先要引用log4net.dll,

然后配置,这里采用的是直接在Web.config文件中配置,configSections这个节点一定一定要放在configuration下面的第一个位置

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
  
  <log4net>
    <logger name="log4NetTest">
      <level value="INFO"/>
      <!--<appender-ref ref="AdoNetAppender_SqlServer"/>-->
      <!--<appender-ref ref="LogFileAppender"></appender-ref>-->
      <appender-ref ref="RollingLogFileAppender"></appender-ref>
    </logger>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <param name="File" value="Application.log.txt"/>
      <param name="DatePattern" value="MM-dd HH:mm"/>
      <param name="AppendToFile" value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
      </layout>
    </appender>
    <appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
      <bufferSize value="1"/>
      <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
      <connectionString value="data source=(local);initial catalog=pubs;integrated security=false;persist security info=True;User ID=sa;Password=sa"/>
      <commandText value="INSERT INTO [Log4Net]([Text]) Values( @Description)"/>
      <parameter>
        <parameterName value="@Description"/>
        <dbType value="String"/>
        <size value="1000"/>
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%X{description}"/>
        </layout>
      </parameter>
    </appender>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="bin/log/log4NetFile.txt"/>
      <param name="AppendToFile" value="true"/>
      <param name="MaxSizeRollBackups" value="10"/>
      <param name="MaximumFileSize" value="5MB"/>
      <param name="RollingStyle" value="Size"/>
      <param name="StaticLogFileName" value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - Line:%L %m%n"/>
      </layout>
    </appender>
  </log4net>

 关于ConversionPattern相关符号的配置

%m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息
%n(new line):換行
%d(datetime):输出当前语句运行的时刻 
%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数 
%t(thread id):当前语句所在的线程ID
%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
%c(class):当前日志对象的名称
%L:输出语句所在的行号
%F:输出语句所在的文件名
%-数字:表示该项的最小长度,如果不够,则用空格填充

然后可以写一个简单的LogHelper日志帮助类

 

 /// <summary>
    /// 日志帮助类
    /// </summary>
    class LogHelper
    {
        /// <summary>
        /// lock对象
        /// </summary>
        private static object lockLog = new object();

        private static ILog _log;
        /// <summary>
        /// 记录Log信息
        /// </summary>
        public static ILog ToLog
        {
            get
            {
                if (_log == null)
                {
                    lock (lockLog)
                    {
                        log4net.Config.XmlConfigurator.Configure();
                        _log = log4net.LogManager.GetLogger("log4NetTest");
                    }
                }
                return _log;
            }
        }
    }

    /// <summary>
    /// Log对外执行文件
    /// </summary>
    public class Log
    {
        /// <summary>
        /// 记录Error日志
        /// </summary>
        /// <param name="msg"></param>
        public static void Error(string msg)
        {
            LogHelper.ToLog.Error(msg);
        }
        /// <summary>
        /// 记录Warn日志
        /// </summary>
        /// <param name="msg"></param>
        public static void Warn(string msg)
        {
            LogHelper.ToLog.Warn(msg);
        }
        /// <summary>
        /// 记录Info日志
        /// </summary>
        /// <param name="msg"></param>
        public static void Info(string msg)
        {
            LogHelper.ToLog.Info(msg);
        }
        /// <summary>
        /// 记录Debug日志
        /// </summary>
        /// <param name="msg"></param>
        public static void Debug(string msg)
        {
            LogHelper.ToLog.Debug(msg);
        }
    }

 最后就是在你需要的位置直接调用就行了

 

try
            {
                Log.Info("日志已经记录");
            }
            catch (Exception ex)
            {
                Log.Error("日志错误已经记录:" + ex);
            }

 

 

0
0
分享到:
评论

相关推荐

    log4net应用demo_记录系统日志信息(支持6种数据库)

    "Log4net应用Demo_记录系统日志信息(支持6种数据库)" 指示这是一个关于Log4net的实例演示,它的主要功能是用于记录系统的日志信息,并且该日志系统具备与六种不同类型的数据库集成的能力,这包括SQL Server、Oracle...

    .Net 使用Log4Net 获取系统日志并写入数据库

    本文将详细介绍如何使用Log4Net来捕获和记录系统的异常信息,并将其存储到Sql Server数据库中。 首先,我们需要在项目中引入Log4Net库。可以通过NuGet包管理器来安装Log4Net,或者手动添加对log4net.dll的引用。...

    Wpf log4net 日志

    Log4net是Apache软件基金会的一个开源项目,它为.NET应用程序提供了强大的日志记录功能。本教程将详细介绍如何在WPF应用中集成log4net,以便实现每天生成一个独立日志文件的需求。 首先,我们需要在WPF项目中添加对...

    C# 使用Log4Net记录日志

    在C#中,Log4Net是一个广泛使用的开源日志记录框架,它提供了强大的日志记录功能,灵活性高,且易于配置。本文将深入探讨如何在C#项目中使用Log4Net来记录日志。 首先,让我们了解Log4Net的基本概念。Log4Net是...

    log4net自动删除日志文件实现

    此外,log4net还支持配置文件,使得日志设置可以在不修改代码的情况下进行动态调整。 **2. 自动删除过期日志的原理** log4net本身并不直接提供自动删除日志文件的功能,但可以通过结合其他工具或编程逻辑来实现。一...

    log4net保存日志到MySql数据库

    Log4net是一款广泛使用的.NET平台的日志记录框架,而MySQL作为流行的开源关系型数据库,常被用于存储系统日志。本文将深入探讨如何使用log4net将日志保存到MySQL数据库,并涉及日志加密和调试日志的使用。** ### 1....

    log4net 简单的日志系统

    **日志系统与log4net** 在软件开发中,日志系统扮演着至关重要的角色,它可以帮助开发者追踪程序运行过程中的错误、异常以及性能信息,从而优化代码和提高应用程序的稳定性。`log4net`是Apache软件基金会的一个开源...

    C# 利用log4net 把日志写入到数据库

    log4net是一款广泛使用的、高度可配置的日志框架,它为.NET开发者提供了一套灵活的日志记录解决方案。log4net支持多种输出目标,包括控制台、文件、事件查看器以及数据库等。它的优势在于其强大的灵活性和可扩展性,...

    log4net日志记录演示demo

    **log4net日志记录系统**是Apache软件基金会的一个开源项目,主要应用于.NET框架下的日志管理和跟踪。它提供了一种灵活且强大的日志记录机制,使得开发者能够方便地在应用程序中插入日志代码,同时支持多种日志输出...

    Log4net日志功能-记录数据库异常和系统异常

    - 示例代码可能包括设置log4net配置,创建logger实例,以及在捕获异常时调用logger的方法。 6. **日志管理和优化** - 日志文件大小和数量的管理至关重要,避免占用过多磁盘空间。可以通过配置log4net定期滚动文件...

    C# log4net自动删除多少天前的log文件

    在IT行业中,日志管理是系统监控和故障排查的关键环节,尤其在使用.NET框架开发应用程序时,C#的log4net库是一个非常流行的日志记录工具。log4net以其灵活性和强大的功能,允许开发者轻松地配置日志输出,包括日志...

    log4net记录日志

    **描述解析:**描述指出,通过在winform应用中集成log4net,可以有效地记录系统的运行日志。log4net库提供了灵活的日志记录功能,有助于开发者在程序出现问题时,能够快速定位和解决问题。同时,描述中提到的“log4...

    tomcat8更换log4j记录日志

    在IT行业中,日志管理是系统运维和故障排查的关键环节,尤其对于服务器应用程序如Tomcat而言,正确配置日志记录工具至关重要。此压缩包提供的资源是针对Tomcat8及其以下版本的日志管理解决方案,主要涉及Log4j这个...

    net6 控制台+ log4net+写数据库+自定义字段

    在.NET 6框架下,构建一个控制台应用并结合log4net进行日志记录,同时将日志数据存储到数据库并支持自定义字段,是一项常见的系统监控和故障排查任务。以下将详细介绍如何实现这一功能。 首先,log4net是Apache的一...

    log4j记录Debug日志

    在使用Log4j记录Debug日志时,确保项目中引入了相应的Log4j库,并正确配置了`log4j.properties`或`log4j.xml`文件,设置DEBUG级别,然后在代码中使用Logger对象进行日志记录。例如: ```java import org.apache.log4...

    log4j2.xml记录日志到到数据库

    1. **配置文件**:如`log4j2.xml`,这是Log4j2的配置中心,定义了日志记录的策略、级别、输出目标等。 2. **日志记录器(Logger)**:负责收集和处理日志事件。 3. **日志级别(Level)**:如`TRACE`, `DEBUG`, `...

    C#最简单最完整的webservice实例(能打log,配有log4net)

    【C#最简单最完整的Web服务(WebService)实例与日志记录(log4net)】 在C#编程中,创建一个简单的Web服务(WebService)可以帮助开发者实现不同应用程序间的通信。本实例将展示如何构建一个基本的C# WebService,...

    log4net 日志类封装

    - **初始化**:在应用程序启动时,根据配置文件初始化 log4net 设置,确保日志功能可用。 - **日志级别控制**:提供静态方法,如 Debug、Info、Warn、Error 和 Fatal,对应 log4net 的不同日志级别,方便调用者根据...

    log4net 数据库日志

    - `log4net`是一个灵活且可配置的日志记录库,允许开发者在应用程序中插入日志代码,而无需关心具体的日志实现。 - 它支持多种输出目标(appenders),如文件、控制台、事件查看器、数据库等。 - 提供了丰富的...

Global site tag (gtag.js) - Google Analytics