如何使用log4net

提问

如何使用log4net

回答

  1. 配置
using log4net;
using log4net.Config;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

namespace EzQC.Log4Net
{
    /// <summary>
    /// 日志配置
    /// </summary>
    public static class Log4NetConfig
    {
       
        /// <summary>
        /// 增加Log4Net日志
        /// </summary>
        /// <param name="serviceCollection"></param>
        /// <param name="configuration"></param>
        /// <exception cref="Exception"></exception>
        /// <remarks>
        /// 指定自定义配置
        ///       "Log4Net": {
        ///         "RepositoryName": "NETCoreRepository",
        ///         "ConfigFilePath": "Log4Net/log4net.config"
        ///       }
        /// </remarks>
        public static IServiceCollection AddLog4Net(this IServiceCollection serviceCollection, IConfiguration? configuration=null)
        {
            var configFilePath =Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Log4Net\\log4net.config");
            var file = new FileInfo(configFilePath);
            XmlConfigurator.Configure(file);
            serviceCollection.AddSingleton(LogManager.GetLogger( "Info"));
            return serviceCollection;
    }
    }

}

  1. 日志输出格式
<?xml version="1.0" encoding="utf-8"?>
<configuration>
	<log4net>
		

		<!-- 信息日志类 -->
		<logger name="Info">
			<level value="ALL" />
			<appender-ref ref="InfoAppender" />
		</logger>
		<!-- 信息日志附加介质-->
		<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
			<!--日志文件路径-->
			<param name="File" value="Logs\\Info\\" />
			<!--是否是向文件中追加日志-->
			<param name="AppendToFile" value="true" />
			<!--log保留天数-->
			<param name="MaxSizeRollBackups" value="100" />
			<param name="MaxFileSize" value="1" />
			<!--日志文件名是否是固定不变的-->
			<param name="StaticLogFileName" value="false" />
			<!--日志文件名格式为:2008-08-31.log-->
			<param name="DatePattern" value="yyyy-MM-dd.'log'" />
			<!--日志根据日期滚动-->
			<param name="RollingStyle" value="Date" />
			<!--信息日志布局-->
			<layout type="log4net.Layout.PatternLayout">
				<param name="ConversionPattern" value="[%date [%-5level] %message%n"  />
			</layout>
		</appender>
	</log4net>
</configuration>

posted @ 2022-11-03 13:50  喜爱糖葫芦  阅读(17)  评论(0编辑  收藏  举报