在控制台如何使用log4net日志开源库的配置文件例子

47
补充展位 Pages_Weblog_Get#0
文章摘要
此内容由人工摘要内容,并由AI根据文章内容进行润色
暂无内容

首先Nuget引用log4net开源库

在控制台如何使用log4net日志开源库的配置文件例子

打开AssemblyInfo.cs文件

文件在项目的位置如下图:

AssemblyInfo.cs文件位置

在最后面添加 如下一行

///LogNet4 日志库
[assembly: log4net.Config.XmlConfiguratorAttribute(ConfigFile = @"log4net.config", Watch = true)]

如图:

在控制台如何使用log4net日志开源库的配置文件例子

开源库初始化 启动时执行一次即可

 #region 日志配置文件定位 这里默认配置文件log4net.config是放在程序根目录
string log4net = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4net.config");
XmlConfigurator.ConfigureAndWatch(new FileInfo(log4net));
 #endregion

调用写入例子

       //这里的 loginfo 和 log4net.config 里的名字要一样
       static readonly log4net.ILog LogLnfo = log4net.LogManager.GetLogger("loginfo");
       //这里的 logerror 和 log4net.config 里的名字要一样
       static readonly log4net.ILog LogError = log4net.LogManager.GetLogger("logerror");

        /// <summary>
        /// 正常记录操作信息
        /// </summary>
        /// <param name="info"></param>
        public static void Info(string message, Exception ex = null)
        {
            if (LogLnfo.IsInfoEnabled)
            {
                LogLnfo.Info(message, ex);
            }
        }
		
        /// <summary>
        /// 记录错误详细信息
        /// </summary>
        /// <param name="info"></param>
        /// <param name="ex"></param>
        public static void Error(string message, Exception ex = null)
        {
            if (LogError.IsErrorEnabled)
            {
                LogError.Error(message, ex);
            }
        }

配置文件log4net.config例子

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<configSections>
		<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
	</configSections>
	<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="Logs//Error//" />
			<!--是否追加到文件-->
			<param name="AppendToFile" value="true" />
			<!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数-->
			<param name="MaxSizeRollBackups" value="100" />
			<param name="MaxFileSize" value="1024" />
			<!--是否只写到一个文件中-->
			<param name="StaticLogFileName" value="false" />
			<!--这是按日期产生文件夹,并在文件名前也加上日期-->
			<param name="DatePattern" value="yyyyMM/dd".log"" />
			<!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
			<param name="RollingStyle" value="Date" />
			<layout type="log4net.Layout.PatternLayout">
				<param name="ConversionPattern" value="异常时间:%d [%t]  
				%n异常位置:[%thread] (%file:%line) %n消息描述:%message%n异常:%exception %n#%n" />
				<!--<param name="ConversionPattern" value="异常时间:%d [%t] %n
				异常级别:%-5p %n异常位置:[%thread] (%file:%line) %n消息描述:%message%n
				异常:%exception %n#%n" />-->
			</layout>
		</appender>
		
		<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
			<!--设置日志存储路径-->
			<param name="File" value="Logs//Info//" />
			<!--是否追加到文件-->
			<param name="AppendToFile" value="true" />
			<!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数-->
			<param name="MaxSizeRollBackups" value="100" />
			<param name="MaxFileSize" value="1024" />
			<!--是否只写到一个文件中-->
			<param name="StaticLogFileName" value="false" />
			<!--这是按日期产生文件夹,并在文件名前也加上日期-->
			<param name="DatePattern" value="yyyyMM/dd".log"" />
			<!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
			<param name="RollingStyle" value="Date" />
			<layout type="log4net.Layout.PatternLayout">
				<param name="ConversionPattern" value="日志时间:%d [%t] %n消息描述:%message %n#%n" />
				<!--<param name="ConversionPattern" value="日志时间:%d [%t] %n日志级别:%-5p %n
				消息描述:%message %n#%n" />-->
			</layout>
		</appender>

		<root>
			<!--配置可输出日志级别-->
			<level value="all"/>
		</root>
	</log4net>

</configuration>
补充展位
Pages_Weblog_Get#b736c06b-099e-46bc-8717-ad5500da5743
补充展位 Pages_Weblog_Get#1
补充展位 Pages_Weblog_Get#2
专题推荐
暂无内容
补充展位 Pages_Weblog_Get#3