• log4net的使用


    1、首先在项目中添加Nuget程序包...

    2、然后在NuGet窗体中搜索Log4Net,然后点击安装<安装过程可能会持续几分钟,请耐心等待>

    3.在webconfig中添加配置

      <appSettings>
        <!--log4net日志配置-->
        <!--log4net配置文件路径-->
        <add key="log4net" value="Configslog4net.config"/>
        <!--日志是否开启 0不开启 1开启-->
        <add key ="IsWriteLog" value="1"/>
      </appSettings>

    给AssemblyInfo文件添加装载描述

    1 //为项目注册Log4Net.config配置文件
    2 [assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]

    程序启动时加载配置文件

     1  //初始化日志文件 
     2             string state = ConfigurationManager.AppSettings["IsWriteLog"];
     3             //判断是否开启日志记录
     4             if (state == "1")
     5             {
     6                 var path = AppDomain.CurrentDomain.SetupInformation.ApplicationBase +
     7                            ConfigurationManager.AppSettings["log4net"];
     8                 var fi = new System.IO.FileInfo(path);
     9                 log4net.Config.XmlConfigurator.Configure(fi);
    10             }

    在当前项目下创建一个Configs文件夹,在此文件夹下创建一个log4net.config文件,文件内容如下

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <configuration>
     3   <configSections>
     4     <section name ="log4net" type ="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
     5   </configSections>
     6   <log4net>
     7     <logger name="logerror">
     8       <level value="ERROR" />
     9       <appender-ref ref="ErrorAppender" />
    10     </logger>
    11     <logger name="loginfo">
    12       <level value="INFO" />
    13       <appender-ref ref="InfoAppender" />
    14     </logger>
    15     <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
    16       <!--设置日志存储路径-->
    17       <param name="File" value="Log\LogError\" />
    18       <!--是否追加到文件-->
    19       <param name="AppendToFile" value="true" />
    20       <!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数-->
    21       <param name="MaxSizeRollBackups" value="100" />
    22       <param name="MaxFileSize" value="10240" />
    23       <!--是否只写到一个文件中-->
    24       <param name="StaticLogFileName" value="false" />
    25       <!--这是按日期产生文件夹,并在文件名前也加上日期-->
    26       <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
    27       <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
    28       <param name="RollingStyle" value="Date" />
    29       <layout type="log4net.Layout.PatternLayout">
    30         <param name="ConversionPattern" value="%n异常时间:%d %n异常级别:%-5p%n异常内容:%m%n" />
    31       </layout>
    32       <!--&lt; &gt; = <> %n = 回车-->
    33     </appender>
    34     <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
    35       <!--设置日志存储路径-->
    36       <param name="File" value="Log\LogInfo\" />
    37       <!--是否追加到文件-->
    38       <param name="AppendToFile" value="true" />
    39       <!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数-->
    40       <param name="MaxSizeRollBackups" value="100" />
    41       <param name="MaxFileSize" value="10240" />
    42       <!--是否只写到一个文件中-->
    43       <param name="StaticLogFileName" value="false" />
    44       <!--这是按日期产生文件夹,并在文件名前也加上日期-->
    45       <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
    46        <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
    47       <param name="RollingStyle" value="Date" />
    48       <layout type="log4net.Layout.PatternLayout">
    49         <param name="ConversionPattern" value="Datetime:%d Grade:%-5p  %m%n" />
    50       </layout>
    51     </appender>
    52   </log4net>
    53 </configuration>

    创建一个写日志的公共类LogHelper

     1 using System;
     2 using System.Collections.Generic;
     3 using System.IO;
     4 using System.Linq;
     5 using System.Threading;
     6 using System.Web;
     7 
     8 namespace weTools.Common
     9 {
    10     public class LogHelper
    11     {
    12         private LogHelper()
    13         {
    14 
    15         }
    16 
    17         public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
    18 
    19         public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
    20 
    21         public static void SetConfig()
    22         {
    23             log4net.Config.XmlConfigurator.Configure();
    24         }
    25 
    26         public static void SetConfig(FileInfo configFile)
    27         {
    28             log4net.Config.XmlConfigurator.Configure(configFile);
    29         }
    30 
    31         public static void WriteLog(string info)
    32         {
    33             if (loginfo.IsInfoEnabled)
    34             {
    35                 loginfo.Info("ThreadId:" + Thread.CurrentThread.ManagedThreadId.ToString() + "   Content:" + info);
    36             }
    37         }
    38 
    39         public static void WriteLog(string info, Exception se)
    40         {
    41             if (logerror.IsErrorEnabled)
    42             {
    43                 logerror.Error(info, se);
    44             }
    45         }
    46     }
    47 }

    在需要写日志的地方调用方法

    1 LogHelper.WriteLog("这个是日志记录");

    最终在项目的生成目录下会有一个Log文件夹,里面会有一个info 一个error文件夹,在里面查看相应的日志记录。

  • 相关阅读:
    elasticsearch 安装,以及遇到的问题总结
    Linux/unix 查看端口占用
    openresty 安装
    Hadoop 系列文章(三) 配置部署启动YARN及在YARN上运行MapReduce程序
    Hadoop 系列文章(二) Hadoop配置部署启动HDFS及本地模式运行MapReduce
    Hadoop 系列文章(一) Hadoop 的安装,以及 Standalone Operation 的启动模式测试
    Linux 防火墙相关
    Linux 修改默认的 yum 源
    普通用户开放 sudo 权限
    大数据所有环境变量
  • 原文地址:https://www.cnblogs.com/dinggf/p/11785445.html
Copyright © 2020-2023  润新知