nlog中不同环境的基本目录路径

巴文·瓦尔苏(Bhavin Varsur)

我有带有生产,阶段和开发环境的.net核心Web API项目。{baseDir}在nlog目标的文件名中使用过,但是当我运行项目时,它将日志文件存储在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>

谢谢 !!

普拉门·约达诺夫(Plamen Yordanov)

{baseDir}目录是执行代码的目录,因此您得到的是正确的。

如果你想用你的ASP.NET应用程序的核心的内容根路径,你需要使用${aspnet-appbasepath}-裁判

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

从文档:

与NLog.Web.AspNetCore v4.5.0和NLog.Web v4.5.2一起引入

确保您定位到各自的版本,否则将无法使用 ${aspnet-appbasepath}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章