zoukankan      html  css  js  c++  java
  • asp.net core 3 使用nlog日志组件,使用$ {basedir}保存位置不对,记录下怎么解决

    $ {basedir}指向的是  AppDomain.CurrentDomain.BaseDirectory,

    Asp.Net.Core的解决方法可能如下(在Program.cs中添加两行):

    var appBasePath = System.IO.Directory.GetCurrentDirectory();
    NLog.GlobalDiagnosticsContext.Set("appbasepath", appBasePath);
    var logger = LogManager.LoadConfiguration("nlog.config").GetCurrentClassLogger();

    然后,您可以${gdc:item=appbasepath}nlog.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="${gdc:item=appbasepath}loginternal-nlog.txt">
    
      <extensions>
        <add assembly="NLog.Web.AspNetCore"/>
      </extensions>
    
      <targets async="true">
        <target name="ownfile" xsi:type="File"
                concurrentWrites="true"
                keepFileOpen="true"
                fileName="${gdc:item=appbasepath}log
    log-${shortdate}.log"
                encoding="utf-8"
                layout="${longdate}|${machinename}|${uppercase:${level}}|${logger}|${message}|${exception:format=tostring}|${aspnet-request-method}|${aspnet-traceidentifier}|${aspnet-request-ip}|${aspnet-request-url}|${aspnet-mvc-action}" />
      </targets>
      <rules>
        <!--Skip non-critical Microsoft logs and so log only own logs-->
        <logger name="Microsoft.*" maxLevel="Info" final="true" />
        <logger name="*" minlevel="Info" writeTo="ownfile" />
      </rules>
    </nlog>
     本文出自:http://tianfeng.cc/Article/5879
  • 相关阅读:
    Sublime keymap 个性修改
    Sublime setting 个性修改
    微信公众接口测试频道
    Thinkphp 架构笔记
    mac ssh 远程容易断线解决方案
    日期按日、周、月 递增
    Centos Apache 多站点配置
    tar解压
    mac 将本地文件上传到vps
    ssh 连接vps
  • 原文地址:https://www.cnblogs.com/tianfengcc/p/12619025.html
Copyright © 2011-2022 走看看