zoukankan      html  css  js  c++  java
  • ASP.NET 日志

    ASP.NET5已经内建集成了日志系统,你也可以用第三方的日志框架。

    1. 在你的应用程序中实现日志

    在Startup.cs文件中,在Configure里可以把ILoggerFactory注入进去,然后调用它的CreateLogger方法去创建日志类,代码如下:

    public void Configure(IApplicationBuilder app,
        IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
    loggerFactory.AddConsole(minLevel:LogLevel.Verbose); app.Run(
    async (context) => { var logger = loggerFactory.CreateLogger("Catchall Endpoint"); logger.LogInformation("Not endpoint found for request {path}", context.Request.Path); awiat context.Response.WriteAsync("No endpoint found - try/api/todo."); } }

    创建日志的时候需要传递一个“类型”参数,通过它是可以有层级关系的,通过“。”来分割。

    要在应用程序当中使用日志,可以通过DI注入ILogger<T>, 例如

    public class TodoController : Controller
    {
      private readonly ILogger<TodoController> _logger;
      public TodoController(ILogger<TodoController> logger)
      {
        _logger = logger
      }   
    }

    在上面的例子,logger会用Type的名字做为它的分类的名字。

    2. 日志级别

    ASP.NET5定义了6个日志级别

    Debug

    Verbose

    Information

    Warning

    Error

    Critical

    范围:

    范围是通过调用BeginScopeImpl返回的类型为IDisposable的对象。 内建的TraceSourceLogger,它的生命周期是从开始跟踪到结束跟踪操作。

    3. 配置你的日志

    在上面的例子当中,你可以通过loggerFactory.AddConsole来添加你日志需要输入的方式,它会输出到控制台。

    配置TraceSource日志

    首先,你需要添加Microsoft.Extensions.Logging.TraceSource包到你的project.json文件里。

    "dependencies": {
        "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
        "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
        "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
        "Microsoft.Extensions.Logging": "1.0.0-rc1-final",
        "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
        "Microsoft.Extensions.Logging.TraceSource": "1.0.0-rc1-final"
      },
    下面演示了如何配置两个TraceSource,它在DNX Core里不可用,所以用了预编译指令#if DNX451
    #if DNX451
    var sourceSwitch = new SourceSwitch("LoggingSample");
     sourceSwitch.Level = SourceLevels.Critical;
    loggerFactroy.AddTraceSource(sourceSwitch, new ConsoleTraceListener(false));
    loggerFactory.AddTraceSource(sourceSwitch, new EventLogTraceListener("Application"));
    #endif
    如果你要配置其第三方的日志,你需要在project.json文件里添加引用 ,然后添加ILoggerFactory的扩展方法去添加你的日志。

  • 相关阅读:
    python各种类型转换-int,str,char,float,ord,hex,oct等
    pandas快速入门
    python里面,将多个list列表合并成一个list列表
    对字符串进行切分的技巧
    Ubuntu 16.04 安装navicat (tar.gz)
    ubuntu 16.04 如何升级系统的scrapy旧版本(1.0.3)到最新版本
    ubuntu下,敲命令scrapy出现:0: UserWarning: You do not have a working installation of the service_identity module: 'cannot import name 'opentype''. Please install it from <https://pypi.python.org/pypi/servic
    Ubuntu下解压缩zip,tar,tar.gz,tar.bz2格式的文件
    简单的查看进程信息
    python正则表达式
  • 原文地址:https://www.cnblogs.com/superkklot/p/5119598.html
Copyright © 2011-2022 走看看