本帖最后由 陌小北 于 2021-8-6 16:28 编辑
1,nuget引入程序集 log4Net 2,nuget引入程序集 Microsoft.Extensions.Logging.Log4Net.AspNetCore 3,配置文件 log4net.Config - <?xml version="1.0" encoding="utf-8"?>
- <log4net>
- <!-- Define some output appenders -->
- <appender name="rollingAppender" type="log4net.Appender.RollingFileAppender">
- <file value="Log\log.txt" />
- <!--追加日志内容-->
- <appendToFile value="true" />
- <!--防止多线程时不能写Log,官方说线程非安全-->
- <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
- <!--可以为:Once|Size|Date|Composite-->
- <!--Composite为Size和Date的组合-->
- <rollingStyle value="Composite" />
- <!--当备份文件时,为文件名加的后缀-->
- <datePattern value="yyyyMM/yyyy-MM-dd.log" />
- <!--日志最大个数,都是最新的-->
- <!--rollingStyle节点为Size时,只能有value个日志-->
- <!--rollingStyle节点为Composite时,每天有value个日志-->
- <maxSizeRollBackups value="20" />
- <!--可用的单位:KB|MB|GB-->
- <maximumFileSize value="3MB" />
- <!--置为true,当前最新日志文件名永远为file节中的名字-->
- <staticLogFileName value="true" />
- <!--输出级别在INFO和ERROR之间的日志-->
- <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 - %message%newline"/>
- </layout>
- </appender>
- <root>
- <priority value="ALL"/>
- <level value="ALL"/>
- <appender-ref ref="rollingAppender" />
- </root>
- </log4net>
复制代码
4,记录日志 5,Program.cs 增加log4Net配置文件
- public static IHostBuilder CreateHostBuilder(string[] args) =>
- Host.CreateDefaultBuilder(args)
- .ConfigureLogging(loggingBuilder =>
- {
- loggingBuilder.AddFilter("System", LogLevel.Warning);
- loggingBuilder.AddFilter("Microsoft", LogLevel.Warning);
- //loggingBuilder.AddFilter("这里 可以 自定义命名空间");
- loggingBuilder.AddLog4Net();
- })
- .ConfigureWebHostDefaults(webBuilder =>
- {
- webBuilder.UseStartup<Startup>();
- });
复制代码
使用
- private readonly ILogger<HomeController> _logger = null;
- public HomeController( ILogger<HomeController> logger)
- {
-
- this._logger = logger;
- }
- public IActionResult Index()
- {
- _logger.LogInformation("配置log4Net日志记录");
- _logger.LogWarning("警告信息");
- _logger.LogError("错误信息");
- return View();
- }
复制代码
源码如下
Xiaobei-Log.zip
(1.45 MB, 下载次数: 10)
|