首页 > 编程语言 >log4net 在.NET Core 控制台程序中的应用

log4net 在.NET Core 控制台程序中的应用

时间:2024-07-17 13:18:12浏览次数:10  
标签:log4net Core log public static NET LogHelper message

简介

本文主要讲解log4net 在.NET Core控制台程序中的应用

步骤

1.安装log4net Nuget包

2.增加配置文件

3.增加封装的LogHelper的类

4.调用

5.验证结果

实施

1.安装log4net Nuget包

首先,需要在你的.NET Core项目中安装log4net包。可以通过NuGet包管理器来安装。打开你的项目,然后使用以下命令安装log4net:

dotnet add package log4net  

2.增加配置文件

先在根目录下新增一个App.config的文件

 在配置文件中输入 log4net 的配置信息

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    </configSections>
    <log4net>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
            <!--日志路径-->
            <param name= "File" value= ".\logs\"/>
            <!--是否是向文件中追加日志-->
            <param name= "AppendToFile" value= "true"/>
            <!--log保留天数-->
            <param name= "MaxSizeRollBackups" value= "10"/>
            <!--每个log文件最大是2M,如果超过2M将重新创建一个新的log文件,并将原来的log文件备份。-->
            <maximumFileSize value="2MB" />
            <!--日志文件名是否是固定不变的-->
            <param name= "StaticLogFileName" value= "false"/>
            <!--日志文件名格式为:2008-08-31-12.log-->
            <param name= "DatePattern" value="yyyyMMdd/&quot;aaaaaaa.log&quot;" />
            <!--日志根据日期滚动-->
            <param name= "RollingStyle" value= "Date"/>
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n %loggername" />
            </layout>
            <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
        </appender>
        <root>
            <!--(高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低) -->
            <level value="ALL" />
            <appender-ref ref="RollingLogFileAppender"/>
        </root>
    </log4net>
</configuration>

3.增加封装的 LogHelper 的类

将如下代码写入到你的 LogHelper 的类中

public class LogHelper
{
    private static readonly ILog log;

    static LogHelper()
    {
        var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
        XmlConfigurator.Configure(logRepository, new FileInfo("App.config"));
        log = LogManager.GetLogger(typeof(LogHelper));
    }

    public static void Info(string message)
    {
        log.Info(message);
    }

    public static void Error(string message)
    {
        log.Error(message);
    }

    public static void Error(string message, Exception ex)
    {
        log.Error(message, ex);
    }


}

4.调用

在需要执行的代码处,输入

LogHelper.Info("Hello log4net.");
Console.ReadLine();

5.验证结果

输出结果如下

 

你就可以拿这个去任意输出你想要的信息了

 

标签:log4net,Core,log,public,static,NET,LogHelper,message
From: https://www.cnblogs.com/zhao365845726/p/18307107

相关文章

  • ASP.NET Core-自动映射
    1.安装NuGet包AutoMapper 2.建立示例Entity、DtoEntitypublicclassUser{publiclongId{get;set;}///<summary>///账号///</summary>publicstringUserName{get;set;}///<summary>///名字//......
  • iOS开发基础110-Core Graphics应用场景
    CoreGraphics是一种强大的二维图形绘制框架,广泛应用于iOS开发中。以下是几个常见的运用场景以及对应的代码示例:1.自定义视图绘制通过覆盖UIView的drawRect:方法,可以自定义视图的外观。示例代码:#import<UIKit/UIKit.h>@interfaceCustomView:UIView@end@implementat......
  • YOLOv10改进 | 注意力篇 | YOLOv10引入ParNetAttention注意力
    1. ParNetAttention介绍1.1 摘要:深度是深度神经网络的标志。但是,深度越大,意味着顺序计算越多,延迟也越长。这就引出了一个问题--有没有可能建立高性能的“非深度”神经网络?我们证明了这一点。为此,我们使用并行子网,而不是一层接一层堆叠。这有助于在保持高性能的同时有效地......
  • YOLOv10改进 | 独家创新- 注意力篇 | YOLOv10引入结合EMAttention和ParNetAttention形
    1.EPAAttention介绍     EPAAttention注意力机制综合了EMAttention和ParNetAttention的优势,能够更有效地提取图像特征。     (1).综合性与多样性     EPAAttention结合了两种不同的注意力机制,充分利用了EMAttention的分组归一化和特征增强......
  • NetCore消息管道 Middleware
    中间件定义///<summary>///自定义中间件1///</summary>publicclassMyMiddleware:IMiddleware{publicasyncTaskInvokeAsync(HttpContextcontext,RequestDelegatenext){Console.WriteLine("MyMiddleware_1,开始处理");aw......
  • Asp .Net Core 系列:基于 T4 模板生成代码
    目录简介组成部分分类VisualStudio中使用T4模板创建T4模板文件2.编写T4模板3.转换模板中心控制Manager根据MySQL数据生成实体简介T4模板,即TextTemplateTransformationToolkit,是微软官方在VisualStudio中引入的一种代码生成引擎。自VisualStudio2008开始,T4模板就被......
  • ASP.NET Core 集成 AutoMapper 的介绍和实际开发应用
    目录一、介绍二、原理三、实际开发应用1.安装AutoMapper包2.创建映射配置3.初始化AutoMapper4.使用AutoMapper进行数据映射5.注意事项和拓展四、总结一、介绍AutoMapper是一个对象-对象映射器(OOM),它主要用于在.NET应用程序中实现对象之间的自动转换。在ASP.NET......
  • 学懂C#编程:常用框架学习(三)——.NET Framework框架下的Entity Framework (EF)开发应用详
            目录一、EntityFramework概述二、EntityFramework的核心组成部分EntityDataModel(EDM):EntityClient:ObjectServices:ADO.NETProvider:三、分层结构应用程序层:EntityFramework层:数据库层:四、EF主要的功能包括五、三种开发模式详解1.代码......
  • dotnet netcore web api 部署 IIS windows 部署 windows server
    .NetCore部署IIS一、服务器环境配置1.1安装ASP.NETCore模块/托管捆绑包ASP.NETCore不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,为了能部署在IIS,必须先安装AspNetCoreModuleV2。安装方式一:安装ASP.NETCore运行时(推荐)下载地址:htt......
  • WPF read data from mysql and display via ADO.NET
    //xaml<Windowx:Class="WpfApp216.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mi......