gpt4 book ai didi

asp.net-core - nlog中不同环境的Base Directory路径

转载 作者:行者123 更新时间:2023-12-04 08:46:50 24 4
gpt4 key购买 nike

我有 .net 核心 web api 项目,具有生产、阶段和开发环境。我在 nlog 目标的文件名中使用了 {baseDir} 但是当我运行项目时它将日志文件存储在 bin\netcoreapp3.1\netcoreapp3.1 文件夹中。我有一个文件夹 Logs,我想将日志存储在这个文件夹中。在我想要的所有环境中都一样。任何人都知道该怎么做,请帮助我!!

更多详情:

nlog.config

    <variable name="DefaultLayout" value="${longdate} ${processid} ${uppercase:${level}} ${logger:shortName=true} ${environment-user} ${local-ip} ${message} "/>

<targets async="true">
<target xsi:type="File" name="file" layout="${DefaultLayout}" fileName="${baseDir}\log-${shortdate}.log" />
</targets>

谢谢!!

最佳答案

{baseDir} 是代码执行的目录,所以你得到的是正确的。

如果您想使用 ASP.NET Core 应用程序的内容根路径,您需要使用 ${aspnet-appbasepath} - ref .

您可以将其指定为 fileName="${aspnet-appbasepath}\Logs\log-${shortdate}.log"

来自文档:

Introduced with NLog.Web.AspNetCore v4.5.0 and NLog.Web v4.5.2

确保你的目标是相应的版本,否则你将无法使用 ${aspnet-appbasepath}

关于asp.net-core - nlog中不同环境的Base Directory路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64276605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com