首页 > 其他分享 >log4net的配置详解

log4net的配置详解

时间:2024-06-02 11:54:22浏览次数:14  
标签:log4net info void 配置 详解 static loginfo public

log4net是Apache的C#日志系统,下面是详细配置:

一,用Nuget安装log4net:

1

2

二,修改App.config文件,添加配置项,下面是完整的配置文件内容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<configSections>
		<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
	</configSections>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
    </startup>
	<log4net>
		<logger name="logerror">
			<level value="ERROR" />
			<appender-ref ref="ErrorAppender" />
		</logger>
		<logger name="loginfo">
			<level value="INFO" />
			<appender-ref ref="InfoAppender" />
		</logger>
		<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
			<param name="File" value="Log\\LogError\\" />
			<param name="AppendToFile" value="true" />
			<param name="MaxSizeRollBackups" value="100" />
			<param name="MaxFileSize" value="10240" />
			<param name="StaticLogFileName" value="false" />
			<datePattern value="yyyyMM\\yyyyMMdd'_Demo.txt'" />
			<param name="RollingStyle" value="Date" />
			<layout type="log4net.Layout.PatternLayout">
				<param name="ConversionPattern" value="%n异常时间:%d %n异常级别:%-5p%n异常内容:%m%n" />
			</layout>
			<!--< > = <> %n = 回车-->
		</appender>
		<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
			<param name="File" value="Log\\LogInfo\\" />
			<param name="AppendToFile" value="true" />
			<param name="MaxFileSize" value="10240" />
			<param name="MaxSizeRollBackups" value="100" />
			<param name="StaticLogFileName" value="false" />
			<datePattern value="yyyyMM\\yyyyMMdd'_Demo.txt'" />
			<param name="RollingStyle" value="Date" />
			<layout type="log4net.Layout.PatternLayout">
				<param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p  %n日志内容:%m%n%n" />
			</layout>
		</appender>
	</log4net>
</configuration>

注意:这个配置项必须加入,而且必须放到第一个位置,否则会报错!

	<configSections>
		<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
	</configSections>

 三,在AssemblyInfo.cs文件中注册,在文件末尾加入:

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

四,工程里面创建日志类,就可以使用了:

public class LogHelper
{
    private LogHelper()
    {

    }

    public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");

    public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");

    public static void SetConfig()
    {
        log4net.Config.XmlConfigurator.Configure();
    }

    public static void SetConfig(FileInfo configFile)
    {
        log4net.Config.XmlConfigurator.Configure(configFile);
    }

    public static void WriteLog(string info)
    {
        if (loginfo.IsInfoEnabled)
        {
            loginfo.Info(info);
        }
    }

    public static void WriteLog(string info, Exception se)
    {
        if (logerror.IsErrorEnabled)
        {
            logerror.Error(info, se);
        }
    }
}

参考:

https://www.cnblogs.com/Liyuting/p/8417757.html

https://blog.csdn.net/m0_46378049/article/details/115000379

 

标签:log4net,info,void,配置,详解,static,loginfo,public
From: https://www.cnblogs.com/sunylat/p/18226942

相关文章

  • 插入排序详解及Java代码实现
    在计算机科学中,排序是一种基本的操作,它广泛应用于各种数据处理场景。插入排序(InsertionSort)是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的......
  • Linux(Centos)固定IP配置教程
    问题自己创建了个虚拟机,但是每天打开虚拟机ip都会自动变化,所以写个设置固定IP的教程和大家分享一下。步骤一、虚拟机中配置IP地址的网段和网关1、打开 VMware Workstation,点击“编辑”->"虚拟网络编辑器" 2、选择“更改设置”3、选择“VMnet8”,更改子网IP为192......
  • 《计算机网络微课堂》实验13 静态路由配置错误导致的路由环路问题
    下面我们来进行一个仿真实验,本仿真实验的目的在于验证静态路由配置错误所导致的路由环路问题。我已经在软件中构建好了我们理论课讲解时所用到的网络拓扑,并且给网络中的各设备都配置了相应的IP地址和地址掩码。对于网络中的各个主机,我还为他们指定了默认网关,对于网络中的各个......
  • 前端环境配置(后端使用前端版,简易版非专业前端)
    声明本人不是专业做前端的,只是平常开发有时候需要运行前端代码,记录一下配置环境。安装nvmnvm即(nodeversionmanager),好处是方便切换node.js版本。自己网上下载安装包即可,傻瓜式安装。安装注意事项要卸载掉现有的nodejs提示选择nvm和nodejs目录时,一定要避......
  • Windows Server 2008 Web服务器配置
    一、环境准备        Web服务器配置之前,先安装WindowsServer2008操作系统,虚拟机安装WindowsServer2008操作系统可以参考http://t.csdnimg.cn/05JWz安装教程。        WindowsServer2008是一个多任务操作系统,它能够按照需要、以集中或分布的方式处理各......
  • 多旋翼+发电机:国债应急系留照明无人机技术详解
    多旋翼+发电机技术的应急系留照明无人机是一种集成了先进飞行技术、发电技术和照明技术的无人机系统。这种无人机具有高度的灵活性、移动性和适应性,能够在各种复杂环境下迅速部署,为夜间搜救、救援等应急任务提供高效、可靠的照明支持。无人机参数:             ......
  • JVM学习-详解类加载器(一)
    类加载器类加载器是JVM执行类加载机制的前提ClassLoader的作用ClassLoader是Java的核心组件,所有的Class都是由ClassLoader进行加载的,ClassLoader负责通过各种方式将Class信息的二进制数据流读入JVM内部,转换为一个与目标类型对应的java.lang.Class对象实例,然后交给Java虚......
  • 第四篇:openEuler网络配置与C语言开发环境验证
    在阅读文章前,请读者朋友认真阅读免责声明:免责声明:本人所发表的所有文章、资源、知识等内容(包括免费、付费等)旨在向广大读者介绍我的职业生涯中积累的一些经验、知识等内容,受个人水平所限这些知识、经验、代码等不一定是最佳实践,也可能存在遗漏、错误,请广大读者自行甄别(甄别......
  • 指针的详解延续二
     第一篇移步CSDNhttps://mp.csdn.net/mp_blog/creation/editor/139301675 第二篇移步CSDN​​​​​​​​​​​https://mp.csdn.net/mp_blog/creation/editor/139329194目录一、指针数组二、字符指针变量三、数组指针变量四、二维数组传参的本质五、函数指针变量 ......
  • C++多线程原理详解
    学习C++多线程时,我有如下疑问:mutex的lock和unlock做了什么?mutex、lock_guard、unique_lock,它们之间的关系是什么?condition_variable中的wait做了什么?带着这些疑问,我查阅了一些资料,整理出本文。文章目录一、mutex二、lock_guard三、unique_lock四、condition......