这篇文章将为大家详细讲解有关。网络核心项目如何添加日志功能详解,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
<强>一、微软内置的日志组件强>
在。网络核心中使用模板新建的Web Api项目时,会自动加入日志功能。只需要在控制器中注入ILogger实例就可以了。命名空间为:<代码> Microsoft.Extensions。日志代码>。
{ ,“Logging": { ,“IncludeScopes":假的, ,“LogLevel": { ,“Default":,“Debug" ,“煤气报修:“Information", ,“Microsoft":“Information" ,} ,} }
<>强例如:强>
<代码>“煤气报修:“Information"代码>表示命名空间以系统开头的类中且日志等级大于等于信息才会输出到控制台。
<代码>“Default":“Debug"代码>表示除以系统和微软开头的命名空间日志等级大约等于调试才会输出到控制台。
这里说明一下到底是在什么时候,读取了appsettings。json中的配置了了?其实是在程序中<代码>高手写。CreateDefaultBuilder(阿尔该)代码>。
打开源码发现
public class 程序
,{
,public static  void Main (string [], args)
,{//指才能定配置文件路径
var 才能;configBuilder =, new ConfigurationBuilder ()
,,,,.SetBasePath (Directory.GetCurrentDirectory ())
,,,.AddJsonFile(“美元;appsettings.json",,真的,,真的)
,,,.AddJsonFile(美元“appsettings。{EnvironmentName.Development} .json",,真的,,真的);
var 才能;config =, configBuilder.Build ();
,,
var 才能;host =, new WebHostBuilder ()
,,.UseKestrel ()
,,.UseStartup 配置文件为: 启动为: 但是微软提供的内置的日志组件没有实现将日志记录到文件,数据库上。下面介绍NLog <强>二,NLog 强> 首先使用NuGet添加NLog,然后在启动的配置中添加以下代码 {
,“AppSettings": {
,“Url":“http://0.0.0.0:6000"
},
,“Logging": {
,“IncludeScopes":假的,
,“Debug": {
,“LogLevel": {
,“Default":“Info"
,}
},
,“Console": {
,“LogLevel": {
,“Default":“Warning"
,}
,}
,}
}
public class 启动
,{
,public IConfiguration Configuration {,得到;private ;,}
,public 启动(IHostingEnvironment env)//在构造函数中注入,IHostingEnvironment
,{
时间=Configuration 才能;new ConfigurationBuilder ()
,,,.SetBasePath (env.ContentRootPath)
,,,.AddJsonFile(美元“appsettings.json")
,,,.Build ();
,}
,public void  ConfigureServices (IServiceCollection 服务)
,{
services.AddMvc才能();
,}
,public void 配置(IApplicationBuilder 应用,
IHostingEnvironment 才能;env,
ILoggerFactory loggerFactory)才能
,{
if 才能;(env.IsDevelopment ())
{才能
app.UseDeveloperExceptionPage才能();
,,}//才能添加控制台输出
loggerFactory.AddConsole才能(Configuration.GetSection (“Logging"));
loggerFactory.AddDebug才能();
app.UseMvc才能();
,}
以前,}>
public void 配置(IApplicationBuilder 应用,
IHostingEnvironment 才能;env,
ILoggerFactory loggerFactory)才能
,{
if 才能;(env.IsDevelopment ())
{才能
app.UseDeveloperExceptionPage才能();
,,}//才能添加控制台输出
loggerFactory.AddConsole才能(Configuration.GetSection (“Logging"));
loggerFactory.AddDebug才能();
loggerFactory.AddNLog才能();//添加NLog
NLog.LogManager.LoadConfiguration才能(@"美元;{env.ContentRootPath}/nlog.config");//指定NLog的配置文件
app.UseMvc才能();
以前,}
net核心项目如何添加日志功能详解