如何使用配置转换删除所有元素并添加一些新元素

How to remove all and add some new elements with config transforms

我的网络配置中有以下块

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <rules>
        <logger name="*" minlevel="Trace" writeTo="dev" />
        <logger name="*" minlevel="Debug" writeTo="file" />
        <logger name="*" minLevel="Info" writeTo="growl" />
    </rules>
</nlog>

我希望它通过删除所有规则并添加新规则来对其进行转换

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <rules>
        <logger name="*" minlevel="Debug" writeTo="graylog" />
    </rules>
</nlog>

我试过了

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <rules>
        <logger xdt:Transform="RemoveAll" />
        <logger name="*" minlevel="Debug" writeTo="graylog" />
    </rules>
</nlog>

但这只是清除了 <rules> 元素。

正确的变换是什么?

您还需要为新记录指定一个transform action

<logger name="*" minlevel="Debug" writeTo="graylog" xdt:Transform="Insert" />