本文转自:http://www.cnblogs.com/sguozeng/articles/4861303.html

asp.net5遇采用NLog进行日志记录

asp.net5惨遭提供了性能强大的日志框架,本身为供了几栽日志记录道,比如记录及控制台或者波当中,但是,对大多数程序员来说,更欣赏以类log4net或者Nlog这种日志记录方式,灵活而有力。asp.net5受吗囊括NLog的兑现,下面将极简便易行的利用方式勾勒出来,抛砖引玉,让再多对斯不熟悉的同桌等能借这入门。

1.在project.json中补充加对Microsoft.Framework.Logging.NLog的援,目前时髦是beta8版本:

json 1

2.然继上加NLog.config配置文件及花色根本目录:

json 2

Nlog.config的始末可参考如下:

json 3😉

json 4😉

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
 3       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4       autoReload="true">
 5 
 6   <targets>
 7     <target name="logfile"
 8             xsi:type="File"
 9             fileName="c://logs/${shortdate}.log"
10             layout="${longdate}|${level:uppercase=true}|${logger}|${event-context:item=EventId}|${message}|${ndc}" />
11     <target name="console"
12             xsi:type="ColoredConsole"
13             layout="[${level:uppercase=true}:${logger}] ${message}"/>
14   </targets>
15 
16   <rules>
17     <logger name="*" minlevel="Info" writeTo="logfile,console" />
18   </rules>
19 </nlog>

json 5😉

json 6😉

为asp.net5起先目录不符合查看日志,所以这边一直将日志写很到稳定文件夹内,没有采用相对目录。
3.获得nlog.config配置文件所在的目,也便是网根目录:

json 7😉

json 8😉

public Startup(IApplicationEnvironment env)
        {
            var builder = new ConfigurationBuilder(env.ApplicationBasePath)
                        .AddJsonFile("Config.json")
                        .AddEnvironmentVariables();
            Configuration = builder.Build();

            //取得系统启动目录
            BasePath = env.ApplicationBasePath;
        }

        //系统启动目录
        public static string BasePath { get; set; }

json 9😉

json 10😉

此间拿根目录存储到BasePath中。

4.因安排文件生成Nlog日志对象

json 11😉

json 12😉

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerfactory)
        {
            //nlog配置文件路径
            string fileName = Path.Combine(BasePath, "nlog.config");
            //nlog配置对象
            NLog.Config.XmlLoggingConfiguration config = new NLog.Config.XmlLoggingConfiguration(fileName);
            //添加Nlog到日志工厂
            loggerfactory.AddNLog(new NLog.LogFactory(config));

            var log = loggerfactory.CreateLogger("asp5test");
            log.LogInformation("可以记录日志了!");

json 13😉

json 14😉

5.然后就又于控制台和日志文件被记录日志(因为安排文件中布置了零星种日志记录道):

json 15

json 16

 

 

相关文章

网站地图xml地图