asp.net core 3 使用nlog日志组件,使用$ {basedir}保存位置不对,记录下怎么解决

2021-03-28 16:27

阅读:794

标签:sep   filename   date   and   div   director   level   mic   min   

$ {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

"1.0"?>
"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}\log\internal-nlog.txt">

  "NLog.Web.AspNetCore"/>
  async="true">
    "ownfile" xsi:type="File"
            concurrentWrites="true"
            keepFileOpen="true"
            fileName="${gdc:item=appbasepath}\log\nlog-${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}" />
  "Microsoft.*" maxLevel="Info" final="true" />
    "*" minlevel="Info" writeTo="ownfile" />
  

 

 本文出自:http://tianfeng.cc/Article/5879

asp.net core 3 使用nlog日志组件,使用$ {basedir}保存位置不对,记录下怎么解决

标签:sep   filename   date   and   div   director   level   mic   min   

原文地址:https://www.cnblogs.com/tianfengcc/p/12619025.html


评论


亲,登录后才可以留言!