.net core 插件log4net配置

458 阅读1分钟

1.首先在NuGet中安装插件

2.添加log4net.config配置文件【文件跟目录下】(记得设置属性:可以是始终复制)

<?xml version="1.0" encoding="utf-8"?>
<!--<configuration>-->
	<log4net>
		<appender name="RollingAppender" type="log4net.Appender.RollingFileAppender">
			<!--指定日志文件保存的目录-->
			<file value="Log\"/>
			<!--追加日志内容-->
			<appendToFile value="true"/>
			<!--可以为:Once|Size|Date|Composite-->
			<!--Compoosite为Size和Date的组合-->
			<rollingStyle value="Composite"/>
			<!--设置为true,当前最新日志文件名永远为file字节中的名字-->
			<staticLogFileName value="false"/>
			<!--当备份文件时,备份文件的名称及后缀名-->
			<datePattern value="yyyyMMdd.TXT"/>
			<!--日志最大个数-->
			<!--rollingStyle节点为Size时,只能有value个日志-->
			<!--rollingStyle节点为Composie时,每天有value个日志-->
			<maxSizeRollBackups value="20"/>
			<!--可用的单位:KB|MB|GB-->
			<maximumFileSize value="5MB"/>
			<filter type="log4net.Filter.LevelRangeFilter">
				<param name="LevelMin" value="ALL"/>
				<param name="LevelMax" value="FATAL"/>
			</filter>
			<layout type="log4net.Layout.PatternLayout">
				<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
			</layout>
		</appender>
		<root>
			<priority value="ALL"/>
			<level value="ALL"/>
			<appender-ref ref="RollingAppender"/>
		</root>
	</log4net>
<!--</configuration>-->

3.在类Startup.cs的构造函数中添加配置文件

        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
            var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
            XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config"));
        }

4.在类Program中CreateHostBuilder方法中添加代码

 public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args).ConfigureLogging((context,loggingBuilder)=>
            {
                loggingBuilder.AddFilter("System",LogLevel.Warning);
                loggingBuilder.AddFilter("Microsoft", LogLevel.Warning);
                loggingBuilder.AddLog4Net();

            })
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });

5.在需要的地方添加日志

5.F5运行项目(测试项目是简单的mvc),定位到目标的函数,打开日志查看【路径:D:我的D项目\myFirstCore\myFirstCore\bin\Debug\netcoreapp3.1\Log】