ASP.NET Core 添加日志NLog
2016-12-14 19:44
746 查看
1.在Nuget上搜索 NLog.Extensions.Logging 安装最新版
2.添加日志配置文件,在项目指定目录下添加配置文件nlog.config,内容添加如下:
3.将nlog.config添加到project.json配置文件中(若配置文件在指定config目录下,可以添加config/*.config)
4.在startup.cs文件Configure中添加
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddNLog();
env.ConfigureNLog("nlog.config");
…………
2.添加日志配置文件,在项目指定目录下添加配置文件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="c:\temp\internal-nlog.txt"> <!-- define various log targets --> <targets> <!-- write logs to file --> <target xsi:type="File" name="allfile" fileName="c:\temp\nlog-all-${shortdate}.log" layout="${longdate}|${event-properties:item=EventId.Id}|${logger}|${uppercase:${level}}|${message} ${exception}" /> <target xsi:type="File" name="ownFile-web" fileName="c:\temp\nlog-own-${shortdate}.log" layout="${longdate}|${event-properties:item=EventId.Id}|${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>
3.将nlog.config添加到project.json配置文件中(若配置文件在指定config目录下,可以添加config/*.config)
"publishOptions": { "include": [ "wwwroot", "Views", "appsettings.json", "web.config", "nlog.config" ] },
4.在startup.cs文件Configure中添加
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddNLog();
env.ConfigureNLog("nlog.config");
…………
5.记录日志方法
(1) public class HomeController : Controller { private static Logger Logger = LogManager.GetCurrentClassLogger(); public IActionResult Index() { Logger.Info("Index page says hello"); return View(); } ………… (2) public abstract class BaseController<T> : Controller { protected ILogger<T> Logger { get; set; }
public BaseController(ILogger<T> logger, IOptions<ApplicationSiteConfig> appConfig) { this.Logger = logger; } …………
参考:https://github.com/NLog/NLog.Extensions.Logging
相关文章推荐
- ASP.NET Core 添加NLog日志支持(VS2015update3&VS2017)
- ASP.NET Core 2.0 使用NLog实现日志记录
- Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例
- Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统
- 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 开发-Logging 使用NLog 写日志文件
- Asp.Net Core 2.0 之旅---NLog日志的使用教程
- ASP.NET Core 开发-Logging 使用NLog 写日志文件
- ASP.NET Core 2.0系列学习笔记-NLog日志配置文件
- [转]ASP.NET Core 开发-Logging 使用NLog 写日志文件
- ASP.NET Core开发教程之Logging利用NLog写日志文件
- ASP.NET Core 2.0 配置NLog日志组件
- ASP.NET Core使用NLog记录日志到Microsoft Sql Server
- Asp.net Core中使用NLog,并封装成公共的日志方法
- ASP.NET Core 中文文档 第二章 指南(4.3)添加 View
- 用Middleware给ASP.NET Core Web API添加自己的授权验证
- 【Asp.Net Core】二、添加控制器和视图
- 用Middleware给ASP.NET Core Web API添加自己的授权验证
- 【无私分享:ASP.NET CORE 项目实战(第九章)】创建区域Areas,添加TagHelper