0

我正在为 SharpDevelop 4.1 创作一个项目模板,该模板中的一个文件是一个包含 NLog 配置的 XML 配置文件。问题是 SharpDevelop 模板本身的 NLog 布局和变量替换使用相同的语法。即${time}布局中的问题:

<target xsi:type="File" name="file" layout="${time} ${level} ${logger} ${message}" fileName="${ProjectName}.log" />

它旨在按原样输出到结果文件中,但是,SharpDevelop 模板扩展正在将其替换为模板扩展的时间:

<target xsi:type="File" name="file" layout="10:37 AM ${level} ${logger} ${message}" fileName="TestProject.log" />

我仍然需要 ${ProjectName} 替换。如何防止或解决 ${time} 替换?

4

1 回答 1

0

在查看 SharpDevelop 的 StringParser 类中的源代码后,似乎没有标签的转义机制。

但是我可以通过修改 NLog 布局渲染器来解决它,使其不再匹配 SharpDevelop 标记,但在 NLog 中仍然具有相同的效果:

<target xsi:type="File" name="file" layout="${time:universalTime=False} ${level} ${logger} ${message}" fileName="${ProjectName}.log" />
于 2011-11-02T18:43:15.363 回答