我们在创建一个项目时,有时候需要查看日志,我们一般会集成插件。log4j就是一个不错的插件,常见的项目首选插件。log4net库是Apache log4j框架在Microsoft .NET平台的实现。
首先我们针对.net5的mvc项目进行配置日志文件。
步骤一:创建项目。
步骤2:通过nugget包引入Microsoft.Extensions.Logging.log4net.AspNetCore ,然后创建一个专门存放配置文件的文件夹cdgfile,创建log4net.config的配置文件。
配置文件以及详细说明如下。
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<appender name="rollingAppender" type="log4net.Appender.RollingFileAppender">
<file value="log\log.txt"/> <!--//存放日志文件地址-->
<appendToFile value="true"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <!--//设置线程安全-->
<rollingStyle value="Composite"/> <!--//组件组合时间-->
<datePattern value="yyyyMMdd.txt"/>
<maxSizeRollBackups value="20"/>
<maximumFileSize value="3MB"/>
<staticLogFileName value="true"/>
<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>
调整参数。
步骤3:在Program类中设置配置文件的读取
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging(loggingBuilder=>
{
//步骤三:配置文件的读取
loggingBuilder.AddLog4Net("cfgfile/log4net.config");
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
步骤4:在控制器中写一些数据进行日志文件的测试
public HomeController(ILogger<HomeController> logger)
{
_logger = logger;
_logger.LogWarning("log被构造");
}
public IActionResult Index()
//步骤四
{
_logger.LogInformation("this is homecontrokker.index");
return View();
}
步骤5:运行程序,检查日志文件是否创建成功。
找到存在项目的目录下的demo1\bin\Debug\net5.0\log
你会找到log文件,输出文件如下。
一下步骤只是进行了一下简单的demo制作。要想在大项目中使用log4net还需要再控制器中添加很多的控制条件,在这里就不再多说,至于这种简单的还是要了解以下的。