[WebApi].net5 webapi 添加 Log4Net

Posted 厦门德仔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[WebApi].net5 webapi 添加 Log4Net相关的知识,希望对你有一定的参考价值。

.net5 webapi使用Log4net记录日志

nuget安装两个包

log4.net
Microsoft.Extensions.Logging;

创建log4net.config配置文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
	<!-- This section contains the log4net configuration settings -->
	<log4net>
		<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
			<!--文件位置-->
			<file value="LogFile/" />
			<!--附加文件-->
			<appendToFile value="true" />
			<!--按天记录-->
			<rollingStyle value="Date" />
			<datePattern value="yyyyMMdd'.log'" />
			<staticLogFileName value="false" />
			<!--只记录31-->
			<MaxSizeRollBackups value="31" />
			<!--输出格式-->
			<layout type="log4net.Layout.PatternLayout">
				<conversionPattern value="%date [%thread] %-5level %logger [%propertyNDC] - %message%newline" />
			</layout>
		</appender>

		<!-- Setup the root category, add the appenders and set the default level -->
		<root>
			<level value="ALL" />
			<appender-ref ref="RollingLogFileAppender" />
		</root>

	</log4net>
</configuration>

startup配置

        public static ILoggerRepository repository  get; set; 
        public Startup(IConfiguration configuration)
        
            Configuration = configuration;
            repository = LogManager.CreateRepository("NETCoreRepository");
            //指定配置文件
            XmlConfigurator.Configure(repository, new FileInfo("CfgFile\\\\log4net.config"));
        

应用

        private ILog log;
        private readonly IAuthenticateService _authenservice;
        public HomeController(IAuthenticateService service)
        
            _authenservice = service;
            this.log = log4net.LogManager.GetLogger(Startup.repository.Name, typeof(HomeController));
            log.Info($"DateTime.Now LogError 日志");
        
        [HttpGet]
        public string GetTestLog()
        
            log.Info("print log infor!!!");
            log.Error("哈哈,出现错误啦!!!");
            return "测试成功";
        

ajax前端调用

以上是关于[WebApi].net5 webapi 添加 Log4Net的主要内容,如果未能解决你的问题,请参考以下文章

使用 .Net 5 WebAPI 的 Vue SPA 的正确 OIDC 流程是啥?

.Net Core WebApi 目标框架“net5.0”在构建应用程序时解释为“net50”

未发送从 Angular 到 .Net 5 webapi 的发布参数

如何在 .net 5 Web API 中添加语言本地化

一个简单的webAPI调用

.NET 6.0 Web api 中的 CORS