• log4net在.NET Core项目中使用案例


    1、新建一个 .NET Core 项目,选择控制台应用程序,名称TestNetCore。

    2、使用Nuget程序管理器,添加log4net

    3、添加log4net.config,内容如下

    <?xml version="1.0" encoding="utf-8"?>
    <!--注意:如果是在aspnetcore中使用的话,在log4net.config就不需要添加configuration标签了,可以参考TestNetCore的AddLog4Net-->
    <configuration>
      <log4net>
        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
          <layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" />
        </appender>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <param name="File" value="LogLog.txt" />
          <param name="AppendToFile" value="true" />
          <param name="MaxSizeRollBackups" value="100" />
          <param name="MaximumFileSize" value="2MB" />
          <param name="RollingStyle" value="Size" />
          <param name="StaticLogFileName" value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%-15p %d [%c] %m%n" />
          </layout>
        </appender>
        <root>
          <!--<level value="off" />-->
          <!--<level value="Fatal" />-->
          <!--<level value="error" />-->
          <!--<level value="Warn" />-->
          <!--<level value="Info" />-->
          <level value="Debug" />
          <!--<level value="all" />-->
          <appender-ref ref="ConsoleAppender" />
          <appender-ref ref="RollingLogFileAppender" />
        </root>
      </log4net>  
    </configuration>

    注意:要把log4net.config属性设置成复制到输出目录

    4、Program中添加如下

    using Microsoft.EntityFrameworkCore;
    using Microsoft.EntityFrameworkCore.Metadata.Builders;
    using System;
    using Microsoft.Extensions.Logging;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.RegularExpressions;
    using System.Globalization;
    using System.Reflection;
    using log4net;
    using System.IO;
    using log4net.Repository;
    using log4net.Config;
    
    namespace TestNetCore
    {
        internal class Program
        {
            //public static log4net.ILog Log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
            static void Main(string[] args)
            {
                ILoggerRepository loggerRepository = LogManager.CreateRepository("TestNetCore");
                //默认配置,这个只输出到控制台,并且这个不需要log4net.config文件
                //BasicConfigurator.Configure(loggerRepository);
                //指定配置文件
                XmlConfigurator.Configure(loggerRepository, new FileInfo("log4net.config"));
    
                ILog Log = LogManager.GetLogger(loggerRepository.Name, typeof(Program));
                Log.Fatal("Fatal");
                Log.Error("Error");
                Log.Warn("Warn");
                Log.Info("Info");
                Log.Debug("Debug");
                Console.ReadLine();
            }
       }
    }

    5、运行效果

  • 相关阅读:
    如何将 asp.net core 应用进行 docker 容器部署
    三步搞定Centos 7 上特定版本的 docker 安装
    docker常用命令整理-在容器中使用service命令
    超简单,Centos7 安装 rabbitMQ
    C# 异步编程4 async与await 异步程序开发
    了解php的session_start的工作原理
    使用php-emoji类让网页显示emoji表情
    php拓展ssh功能
    HTML5的Server-Sent Events功能的使用
    apache的日志查看与开启
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/12690987.html
Copyright © 2020-2023  润新知