ASP.NET Core 2.0 配置NLog日志组件
2017-10-26 00:00
956 查看
1).添加nlog.config配置文件
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true"
internalLogLevel="Warn"
internalLogFile="internal-nlog.txt">
<!-- Load the ASP.NET Core plugin -->
<extensions>
<add assembly="NLog.Web.AspNetCore"/>
</extensions>
<!-- define various log targets -->
<targets>
<!-- write logs to file -->
<target xsi:type="File" name="allfile" fileName="nlog-all-${shortdate}.log"
layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
<target xsi:type="File" name="ownFile-web" fileName="nlog-own-${shortdate}.log"
layout="${longdate}|${logger}|${uppercase:${level}}| ${message} ${exception}" />
<target xsi:type="Null" name="blackhole" />
</targets>
<rules>
<!--All logs, including from Microsoft-->
<logger name="*" minlevel="Trace" writeTo="allfile" />
<!--Skip Microsoft logs and so log only own logs-->
<logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />
<logger name="*" minlevel="Trace" writeTo="ownFile-web" />
</rules>
</nlog>
2).使用NuGet安装相关日志组件
NLog.Extensions.Logging
NLog.Web.AspNetCore
3).将nlog.config文件配置到环境中并进行日志注册
public void Configure(IApplicationBuilder app, IHostingEnvironment env,ILoggerFactory loggerFactory)
{
//添加日志配置路径
env.ConfigureNLog("nlog.config");
//注册WEB日志
loggerFactory.AddNLog();
app.AddNLogWeb();
//注册控制台日志
loggerFactory.AddConsole(Configuration.GetSection("Logging")); //控制台日志添加
loggerFactory.AddDebug();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
//添加静态文件中间件
app.UseStaticFiles();
//异常中间件
app.UseExceptionHandler();
app.UseMvc(routes =>
{
//默认路由
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Login}");
});
}
4).使用日志记录方法
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true"
internalLogLevel="Warn"
internalLogFile="internal-nlog.txt">
<!-- Load the ASP.NET Core plugin -->
<extensions>
<add assembly="NLog.Web.AspNetCore"/>
</extensions>
<!-- define various log targets -->
<targets>
<!-- write logs to file -->
<target xsi:type="File" name="allfile" fileName="nlog-all-${shortdate}.log"
layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
<target xsi:type="File" name="ownFile-web" fileName="nlog-own-${shortdate}.log"
layout="${longdate}|${logger}|${uppercase:${level}}| ${message} ${exception}" />
<target xsi:type="Null" name="blackhole" />
</targets>
<rules>
<!--All logs, including from Microsoft-->
<logger name="*" minlevel="Trace" writeTo="allfile" />
<!--Skip Microsoft logs and so log only own logs-->
<logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />
<logger name="*" minlevel="Trace" writeTo="ownFile-web" />
</rules>
</nlog>
2).使用NuGet安装相关日志组件
NLog.Extensions.Logging
NLog.Web.AspNetCore
3).将nlog.config文件配置到环境中并进行日志注册
public void Configure(IApplicationBuilder app, IHostingEnvironment env,ILoggerFactory loggerFactory)
{
//添加日志配置路径
env.ConfigureNLog("nlog.config");
//注册WEB日志
loggerFactory.AddNLog();
app.AddNLogWeb();
//注册控制台日志
loggerFactory.AddConsole(Configuration.GetSection("Logging")); //控制台日志添加
loggerFactory.AddDebug();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
//添加静态文件中间件
app.UseStaticFiles();
//异常中间件
app.UseExceptionHandler();
app.UseMvc(routes =>
{
//默认路由
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Login}");
});
}
4).使用日志记录方法
相关文章推荐
- ASP.NET Core 2.0系列学习笔记-NLog日志配置文件
- Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例
- ASP.NET Core 2.0 使用NLog实现日志记录
- ASP.NET Core 2.0 WebApi全局配置及日志
- Asp.Net Core 2.0 之旅---NLog日志的使用教程
- ASP.NET Core 2.0 WebApi全局配置及日志实例
- EF Core使用SQL调用返回其他类型的查询 ASP.NET Core 2.0 使用NLog实现日志记录 CSS 3D transforms cSharp:use Activator.CreateInstance with an Interface? SqlHelper DBHelper C# Thread.Abort方法真的让线程停止了吗? 注意!你的Thread.Abort方法真
- 一起学ASP.NET Core 2.0学习笔记(二)- ef core2.0 及mysql provider 、Fluent API相关配置及迁移
- ASP.NET Core 开发-Logging 使用NLog 写日志文件
- ASP.NET Core 添加日志NLog
- [译]ASP.NET Core 2.0 机密配置项
- ASP.NET Core 2.0 全局配置项
- asp.net core 2.0 Microsoft.Extensions.Logging 文本文件日志扩展
- ASP.NET Core 2.0 : 五.服务是如何加载并运行的, Kestrel、配置与环境
- ASP.Net Core 2.0 获取Json和Xml格式的配置信息
- 从头编写 asp.net core 2.0 web api 基础框架 (4) EF配置
- ASP.NET Core 添加NLog日志支持(VS2015update3&VS2017)
- 新建Asp.Net Core 2.0 项目配置IIS站点提示500
- ASP.NET Core 开发-Logging 使用NLog 写日志文件
- [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问