Convert xpath to web.config - search by parent

I am trying to change the log file name after deployment, so change this:

<log4net>
    ...
    <appender name="GeneralAppender" type="log4net.Appender.RollingFileAppender, log4net">
        <file value="c:\logs\Co.App.log" />
    ...
    </appender>
</log4net>

:

<log4net>
    ...
    <appender name="GeneralAppender" type="log4net.Appender.RollingFileAppender, log4net">
        <file value="c:\logs\Co.App.localhost.log" />
    ...
    </appender>
</log4net>

the actual node file has no attributes, so I'm trying to find it with the parent node

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <log4net>
        <appender >
          <file value="c:\logs\Co.App.localhost.log" xdt:Transform="Replace" xdt:Locator="XPath(../appender[@name='GeneralAppender'])" />
        </appender>
      </log4net>
    </assemblyBinding>
  </runtime>

I also tried all permutations of the absolute and relative xpath, but I don't see this have any effect in the preview of the transformation.

I tried:

XDT: Locator = "XPath (// Appender [@ name = 'GeneralAppender'] / file)"

and even:

xdt: Transform = "Delete" xdt: Locator = "XPath (// file)"

+4
source share
2

!

<file value="c:\logs\Co.App.local.log" xdt:Transform="Replace" xdt:Locator="Condition(../@name='GeneralAppender')" />
+9

:

node ( ), .

log4net, EventLogAppend, :

  <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
    ...
    <param name="LogName" value="MyLog"/>
    <param name="ApplicationName" value="MyApplication"/>
    ...

"" + , node:, , xdt: Locator = " (../@ name=" EventLogAppender " @name=" _ ")

EventLogAppender, :

<param name="LogName" value="MyNewLog" xdt:Transform="Replace" xdt:Locator="Condition(../@name='EventLogAppender' and @name='LogName')" />
<param name="ApplicationName" value="MyNewApplication" xdt:Transform="Replace" xdt:Locator="Condition(../@name='EventLogAppender' and @name='ApplicationName')" />
+1

Source: https://habr.com/ru/post/1531872/


All Articles