zoukankan      html  css  js  c++  java
  • VS2017-NetCore项目整合Log4Net

    1新建NetCore项目,我这里NetCoreSDK版本是2.2.0。

    2.进入NuGet程序包官网 : https://www.nuget.org,搜索以下两个包并安装到项目中。

     Microsoft.Extensions.Logging.Log4Net.AspNetCore

     Log4Net

    打开项目的程序包管理控制台,运行以下两条命令,安装Log4Net到项目中

    a、Install-Package Microsoft.Extensions.Logging.Log4Net.AspNetCore -Version 2.2.10
    b、Install-Package log4net -Version 2.0.8
     
    3、项目新建一个目录,新增一个log4net.config的配置文件。

    config内容如下。

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <!-- This section contains the log4net configuration settings -->
      <log4net>
        <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
        <!-- Set root logger level to ERROR and its appenders -->
        <root>
          <level value="ALL"/>
          <appender-ref ref="SysAppender"/>
        </root>
        <!-- Print only messages of level DEBUG or above in the packages -->
        <logger name="WebLogger">
          <level value="DEBUG"/>
        </logger>
        
        <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" >
          <param name="File" value="Content/Logs/" />
          <param name="AppendToFile" value="true" />
          <param name="RollingStyle" value="Date" />
          <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
          <param name="StaticLogFileName" value="false" />
          <layout type="log4net.Layout.PatternLayout,log4net">
          <param name="ConversionPattern" value="%n日志时间:%d [%t] %n日志级别:%-5p %n日 志 类:%c [%L] %n%m %n" />
            <param name="Header" value="&#13;&#10;----------------------Header--------------------------&#13;&#10;" />
            <param name="Footer" value="&#13;&#10;----------------------Footer--------------------------&#13;&#10;" />
          </layout>
        </appender>
        
          
        <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
          <layout type="log4net.Layout.PatternLayout,log4net">
            <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
          </layout>
        </appender>
      </log4net>
    
    </configuration>

    4、在Startup.cs中的配置如下

            ...

         public static log4net.Repository.ILoggerRepository LogRepository { get; set; } public Startup(IConfiguration configuration) { Configuration = configuration; LogRepository = log4net.LogManager.CreateRepository("NetCoreRepository"); log4net.Config.XmlConfigurator.Configure(LogRepository, new FileInfo(@"Configlog4net.config")); }
        ...

    5、新建一个Core文件夹,增加一个Log4Net.cs的日志帮助类

    using log4net;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    
    namespace CMSCore.Web.Core
    {
        public class Log4Net
        {
            private static ILog log;
            static Log4Net()
            {
                log = LogManager.GetLogger(Startup.LogRepository.Name,typeof(Log4Net));
            }
            public static void Info(string message)
            {
                log.Info(message);
            }
    
            public static void Warn(string message)
            {
                log.Warn(message);
            }
            public static void Warn(string message,Exception ex)
            {
                log.Warn(message,ex);
            }
    
            public static void Error(string message)
            {
                log.Error(message);
            }
            public static void Error(string message,Exception ex)
            {
                log.Error(message,ex);
            }
    
            public static void Debug(string message)
            {
                log.Debug(message);
            }
            public static void Debug(string message, Exception ex)
            {
                log.Debug(message, ex);
            }
    
        }
    }

    6、在项目中需要记录日志的类引用该命名空间,即可在项目中使用log4net的类的方法记录日志了。

  • 相关阅读:
    Linux环境下搭建Git仓库
    Linux环境下安装zookeeper
    nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)
    Dart语言特性必备了解!
    Flutter中打造多行列列表GridView组件的使用
    Flutter常用组件(Widget)解析-Scaffold
    Flutter常用组件(Widget)解析-ListView
    Flutter常用组件(Widget)解析-Image
    Flutter常用组件(Widget)解析-Text
    Flutter常用组件(Widget)解析-Container
  • 原文地址:https://www.cnblogs.com/luckypc/p/10863890.html
Copyright © 2011-2022 走看看