• log4net 配置


    1.在项目中引入log4net.dll组件;

    2.在App.congfig中做如下修改(可省略)

    在加入如下内容:

    这个节点最好放在<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">
            <!--每条日志末尾的文字说明-->
            <!--输出格式-->
            <!--样例:2015-06-08 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info-->
            <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n操作类:%logger property: [%property{NDC}] - %n日志描述:%message%newline %n"/>
          </layout>
        </appender>
        <root>
          <level value="INFO"/>
          <!--文件形式记录日志-->
          <appender-ref ref="RollingLogFileAppender"/>
        </root>
      </log4net>
    config

    3.新建LogHelp.cs文件

    using System;
    using System.Collections.Generic;
    using System.Text;
    using log4net;
    using System.Diagnostics;
    using System.Reflection;
     
    namespace WinService
    {
     public class LogHelper
        {
            private static readonly ILog logInfo = LogManager.GetLogger("Log");
            private static readonly ILog logErr = LogManager.GetLogger("Err");
            /// <summary>
            /// 记录正常的消息
            /// </summary>
            /// <param name="msg">消息内容</param>
            public static void info(string msg)
            {
                logInfo.Info(msg);
            }
            /// <summary>
            /// 记录异常信息
            /// </summary>
            /// <param name="msg">异常信息内容</param>
            public static void error(string msg)
            {
                StackTrace stackTrace = new StackTrace();
                StackFrame stackFrame = stackTrace.GetFrame(1);
                MethodBase methodBase = stackFrame.GetMethod();
                logErr.Error("类名:" + methodBase.ReflectedType.Name + " 方法名:" + methodBase.Name + " 信息:" + msg);
            }
        }
    
    }
    loghelper

    4.在项目的PropertiesAssemblyInfo.cs文件中加入如下内容:

    这段代码也可以放到LogHelp.cs类中申明

    注意: ConfigFile 可以指定相对路径 和 绝对路径。 eg: /log/xxxx.log  或者 d://log//xxxx.log

    [assembly: log4net.Config.XmlConfigurator(ConfigFile="Log4Net.config", Watch=true)]  

    注意:根据第4步的配置,应该把log4net的配置文件放到项目的bin/Debug 或者 bin/Release目录下,否则会出现找不到配置文件而无法创建logger对象。

    (web的项目,直接放在web项目的根目录下即可)

    如果loghelp里指定了Log4Net.config,就不用在web.config再次配置(可省略第二步),其实参考

    https://blog.csdn.net/coolcoffee168/article/details/7692589

  • 相关阅读:
    StackOverFlow 最有影响力的IT书箱 [Share]
    Principles of Distributed Computing [Share]
    C/C++ 命令行参数
    函数指针
    coursera-北大-计算概论【已完成】
    有关宏定义一题
    blog.163.com 崩溃以后~
    一步步学习SPD2010--第十一章节--处理母版页
    一步步学习SPD2010--第十章节--SP网站品牌化(12)--关键点
    一步步学习SPD2010--第十章节--SP网站品牌化(11)--使用CSS报表
  • 原文地址:https://www.cnblogs.com/xbding/p/4563343.html
Copyright © 2020-2023  润新知