在NLog目标中使用$ {basedir}创建一个具有该名称的文件夹

约翰·潘科维奇

我在Asp.Net core 2.0项目中使用NLog.Web.AspNetCore。如果我使用以下目标:

<target xsi:type="File" name="allfile" fileName="${basedir}/nlog-all-${shortdate}.log"

它将在我的应用程序的ContentRoot文件夹中创建一个名为“ $ {basedir}”的空文件夹。它将日志文件放入bin \ Debug \ netcoreapp2.0中。

为什么不代替$ {basedir}?如果我使用日志文件夹的完整路径,它会很好地工作。

我应该补充一点,在<nlog>元素中,我在nlog.config中还具有以下内容:

internalLogFile="${basedir}/internal-nlog.txt"

当出现内部Nlog错误时,它将写入名为“ $ {basedir}”的文件夹中的该文件。

罗尔夫·克里斯滕森

${basedir}文件夹已创建,因为NLog Internal Logger非常原始,并且不了解布局渲染器。

Asp.Net.Core的解决方法可能如下(在中的Wiki示例添加了两行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

<target xsi:type="File" name="allfile" fileName="${gdc:item=appbasepath}/Logs/nlog-all-${shortdate}.log"

在等待${aspnet-appbasepath}准备就绪时。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用NLog,$ {basedir}在哪里?

如果使用批处理文件已经存在一个具有相同名称的文件夹,则创建编号文件夹

使用python将具有特定名称的文件从一个文件夹复制到另一个文件夹

如何使用powershell将具有不同名称的文件从一个文件夹复制到另一个文件夹?

我可以在 NLog 的一个目标中使用两种不同的布局吗?

使用命令将具有imagemagick的多个图像从一个文件夹调整到另一个(并保留名称)

Gitlab应该使用现有文件夹时创建了一个新文件夹

在运行时以编程方式更改NLog目标中的basedir

使用文件夹中的所有数据创建一个蚂蚁Ejb / Jar

为什么$ {basedir} NLog配置不起作用?

更改$ {basedir}以引用NLog.config中的桌面

在来自不同源文件夹的一个文件夹中创建目标文件

如何在Python中使用某人的名字并创建一个使用该名字写入的文件?

使用Helm在Emacs中创建一个具有类似名称的新文件

如何创建一个Apple脚本来更改空投文件的目标文件夹?

使用一个文件的CSV标头名称创建具有不同标头名称的新文件

使用vbscript监视具有指定名称的最新创建的文件夹

htaccess仅在一个文件夹中使用

如何获取存储文件的最后一个文件夹的名称(不使用宏)

为什么rsync在目标位置创建一个未命名的文件夹?

在文件夹中创建一个文件,然后使用 SSH 写入该文件

使用 OneDrive API 在另一个文件夹中创建文件夹

使用 Package.json 在 $HOME/Sites 文件夹中创建一个文件夹

我在一个文件夹中有 400 个 json 文件,我想在 Python 中创建 400 个该名称的列表

如何获取使用`find`找到的最后一个文件夹的名称

使用一个命令删除多个名称共享文件夹

使用build.xml从源文件夹创建一个jar文件

使用Grunt编译SASS文件会创建一个不必要的文件夹

使用app.config文件创建一个文件夹