zoukankan      html  css  js  c++  java
  • ASP.NET Core根据环境切换NLog配置

    1、新建NLog配置文件,名称分别为nlog.config和nlog.debug.config

    <?xml version="1.0"?>
    <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          autoReload="true"
          internalLogLevel="Warn"
          internalLogFile="${basedir}logsinternal-nlog.txt">
    
      <extensions>
        <add assembly="NLog.Web.AspNetCore"/>
      </extensions>
    
      <targets>
        <target name="allfile" xsi:type="File"
                fileName="${basedir}logsGDStationaryNetCore${shortdate}.log"
                encoding="utf-8"
                layout="[${longdate}][${machinename}][${level}] ${message} ${exception}" />
      </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、在Startup里的Configure方法里配置,并根据环境配置NLog配置文件

                //根据环境变量切换NLog配置
                var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
                var isProd = environment == EnvironmentName.Production;
                env.ConfigureNLog(isProd ? "nlog.config" : "nlog.debug.config");

    可在工程的属性 调试里修改环境变量

  • 相关阅读:
    饿汉模式单例模板
    QT高级01----自定义日志工具
    QT基础01----添加应用程序图标
    QML博客转载
    QML---自定义滚动条
    Mycat的做分库正确步骤
    Spring Cloud sentinel使用总结
    SpringCloud之Gateway原理解析(二)--调用过程
    SpringCloud之Gateway原理解析(一)--准备
    SpringCloud之Feign注解@EnableFeignClients
  • 原文地址:https://www.cnblogs.com/zhouxiaoyun/p/10770866.html
Copyright © 2011-2022 走看看