`

简单配置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详细说明使用

    本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段。 2、一个简单的使用实例 第一步:在项目中添加对log4net.dll的引用,这里引用版本是1.2.10.0。 第二步:程序启动...

    运用log4net将日志信息保存到Oracle数据库

    2:log4net里面对数据库连接进行配置 四:程序调用 1:创建一个辅助类:SystemLog.cs 2: 创建Global.asax,里面设置相关代码 void Application_Start(object sender, EventArgs e) { //在应用程序启动时运行的...

    重写log4j流记录日志到指定文件

    重写log4j流记录日志到指定文件采用了xml,properties文件配置,日志记录容量达到指定配置文件最大容量大小,自动增加新日志文件,配置简单。只需要把log4.xml,log4j.properties文件复制到src目录中,源码文件放在...

    Log4j日志管理系统简单使用说明

    Log4j有三个主要的组件:Loggers,Appenders和Layouts,这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松的记录信息的类型和级别,并可以在运行时控制日志输出的样式和...

    Log4Net使用指南

    Log4net就是为这样一个目的设计的,用于.NET开发环境的日志记录包。 1.2 Log4net的安装: 用户可以从http://logging.apache.org/log4net/下载log4net的源代码。解压软件包后,在解压的src目录下将log4net.sln...

    log4net配置和应用示例

    log4net.dll、Common.Logging.dll的使用配置以及记录系统日志的简要示例代码

    winform+log4net简单示例

    winform结合log4net,把异常信息记录到一个txt文本的简单例子,适合管理系统之类的应用。要知道错误的可重现性对于维护人员来说是很重要的^-^。 使用log4net要注意以下几点: 1)在app.config中写log4net的配置数据 2...

    log4net完整示例代码配置

    几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套...Log4net就是为这样一个目的设计的,用于.NET开发环境的日志记录包。

    打印日志等异常处理,使用Log4j的配置

    #如果一条日志信息的级别大于等于配置文件的级别,就记录配置输出源所对应的辅助类:log4j.appender.输出源名称=类名,如果输出到文件就写FileAppender #指定文件名 Tomcat的根目录: #指定布局方式(消息放入文件...

    log4cplus 源码(C++编写的开源的日志系统)

    log4cplus是C++编写的开源的日志系统,功能非常全面,用到自己开发的工程中会比较专业的,:),本文介绍了log4cplus基本概念,以及如何安装,配置。 ### 简介 ### log4cplus是C++编写的开源的日志系统,前身是java...

    log4qt qt安卓日志记录demo

    针对QT for Android 进行日志记录。 android系统可用,使用log4qt技术, 我也是最近需要用到,才找资料,发现很多时候不适用于androd系统。 这里使用log4qt没有使用配置文件,我觉得android里配置文件的意义不大,...

    Log4Net使用示例代码(带注释)

    同时示例了采用自定义config文件配置的方式进行log4Net相关的配置,避免直接配置在web.config文件中造成修改后,系统重新启动. 另外.通过一个LogHelper辅助类,在系统任意地方加以调用,方便写入日志. 本示例,对于希望在...

    深入学习log4j

    这三种类型的部件工作在一起就能允许开发者根据记录信息的类型和级别来记录日志信息,并且在系统运行时能够按照不同的格式将这三类信息存储在指定的地方。 Loggers组件的主要功能是提供相应API,根据不同配置的...

    AOP+log4j记录日志

    AOP能够做到这一点,让开发人员更加专注于系统的业务编码,而无需顾虑日志问题(这一点大家可以联系声明式事务处理的方式,配置好了处理事务的配置文件,编写Manager或者action时,都无需顾虑事务)

    日志记录组件log4web.js.zip

    使用者可以通过在console控制台通过log4web.config({tagFilter:"usersmodule"})配置值输出"usersmodule"tag的日志。默认值:"".log4web.config({tagFilter:"usersmodule"});post当发生异常是是否post到服务器。此处...

    qt日志管理类 log4qt

    2)Appender,用于将Log记录到指定的媒介上,比如有ConsoleAppender,将Log信息输出到控制台上,FileAppender,将Log信息数到到文件中。可以向log4qt库同时指定多个Appender,则各类事件就会同时被输出到多个媒介上...

    Log4j教程.docx

    它根据记录的优先级别,并提供机制,以指示记录信息到许多的目的地,诸如:数据库,文件,控制台,UNIX系统日志等。 Log4j中有三个主要组成部分: • loggers: 负责捕获记录信息。 • appenders : 负责发布日志信息...

    使用Log4j进行日志操作

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...

    jjava日志文件log4j

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...

Global site tag (gtag.js) - Google Analytics