在ASP.Net Core Web API中使用Log4Net
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在ASP.Net Core Web API中使用Log4Net,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2420字,纯文字阅读大概需要4分钟。
内容图文
![在ASP.Net Core Web API中使用Log4Net](/upload/InfoBanner/zyjiaocheng/605/69568568b2c1449a878c520fd85cf5e4.jpg)
1、引用Log4Net
在Nuget中引入Log4Net和Microsoft.Extensions.Logging.Log4Net.AspNetCore。
2、配置Log4Net
(1) 整理配置文件
<?xml version="1.0" encoding="utf-8" ?> <log4net> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="log\log.txt" /> <!-- 追加日志内容 --> <appendToFile value="true" /> <!-- 修小锁定模型:允许多个进程写入同一个文件 --> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <!-- 备份文件格式 --> <datePattern value="yyyyMMdd.txt" /> <!-- 仅根据文件大小滚动文件 --> <rollingStyle value="Size" /> <!-- 备份文件的个数(-1不做限制) --> <maxSizeRollBackups value="-1" /> <!-- 单个日志文件最大的大小 --> <maximumFileSize value="50MB" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> <root> <level value="ALL" /> <appender-ref ref="RollingLogFileAppender" /> </root> </log4net>
(2) 在Program类中配置Log4Net
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureLogging(loggingBuilder => { //支持IOC控制反转 loggingBuilder.AddLog4Net("Config/log4net.config"); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); });
3、使用Log4Net
通过依赖注入使用Logger。
[ApiController] [Route("api/[controller]")] public class WeatherForecastController : ControllerBase { private static readonly string[] Summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; private readonly ILogger<WeatherForecastController> _logger; public WeatherForecastController(ILogger<WeatherForecastController> logger) { _logger = logger; } [HttpGet] public IEnumerable<WeatherForecast> Get() { _logger.LogInformation("Get WeatherForecast"); var rng = new Random(); return Enumerable.Range(1, 5).Select(index => new WeatherForecast { Date = DateTime.Now.AddDays(index), TemperatureC = rng.Next(-20, 55), Summary = Summaries[rng.Next(Summaries.Length)] }) .ToArray(); } }
4、过滤系统日志
//过滤日志 loggingBuilder.AddFilter("System", LogLevel.Information); loggingBuilder.AddFilter("System", LogLevel.Warning); loggingBuilder.AddFilter("Microsoft", LogLevel.Information); loggingBuilder.AddFilter("Microsoft", LogLevel.Warning); loggingBuilder.AddFilter("Microsoft.Hosting.Lifetime", LogLevel.Information); loggingBuilder.AddFilter("Microsoft.Hosting.Lifetime", LogLevel.Warning);
内容总结
以上是互联网集市为您收集整理的在ASP.Net Core Web API中使用Log4Net全部内容,希望文章能够帮你解决在ASP.Net Core Web API中使用Log4Net所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。