如何访问 log4net appender 文件值并在 azure 管道中替换
How to access log4net appender file value and replace in the azure pipelines
我正在尝试替换管道中的日志文件路径
<configuration>
<configSections>
<applicationSettings>
<log4net debug="true">
<appender name="appender1">
<file value="log.txt"/>
</appender>
</log4net>
</applicationSettings>
</configSections>
</configuration>
我正在使用 FileTransform
任务来实现此目的。
如何访问 log4net appender 文件值并在 azure 管道中替换
要在变量中设置的“名称”应该是什么以及如何设置。
我希望将“值”设置为“D:\Logs\log.txt”。谢谢
如FileTransform task document中所述。管道中定义的变量将与 appSettings、applicationSettings 和 connectionStrings 部分中的 key
或 name
条目匹配。
Variables defined in the build or release pipelines will be matched against the 'key' or 'name' entries in the appSettings, applicationSettings, and connectionStrings sections of any config file and parameters.xml. Variable Substitution is run after config transforms.
因此您可以在配置文件中向 file
属性 添加一个 name
属性。例如在下面。我添加一个名称属性 LogFile
:
<applicationSettings>
<log4net debug="true">
<appender name="appender1">
<file name="LogFile" value="log.txt"/>
</appender>
</log4net>
</applicationSettings>
然后您可以在 azure devops 管道的变量部分定义一个名为 LogFile
的变量。请参阅以下示例:
variables:
LogFile: D:\Logs\log.txt
steps:
- task: FileTransform@1
inputs:
folderPath: $(System.DefaultWorkingDirectory)
fileType: xml
如果您不想将 name
属性添加到 file
属性。可以使用TaskMagic Chuncks来替换file
属性.
的值
设置转换:configuration/configSections/applicationSettings/log4net/appender/file/@value": "D:\Logs\log.txt"
。请参阅以下示例:
请参阅 here 了解如何转换 XML 个文件
steps:
- task: sergeyzwezdin.magic-chunks.magic.chunks.MagicChunks@2
displayName: 'Config transform'
inputs:
sourcePath: '$(System.DefaultWorkingDirectory)/path/to/app.config'
transformations: |
{
"configuration/configSections/applicationSettings/log4net/appender/file/@value": "D:\Logs\log.txt"
}
我正在尝试替换管道中的日志文件路径
<configuration>
<configSections>
<applicationSettings>
<log4net debug="true">
<appender name="appender1">
<file value="log.txt"/>
</appender>
</log4net>
</applicationSettings>
</configSections>
</configuration>
我正在使用 FileTransform
任务来实现此目的。
如何访问 log4net appender 文件值并在 azure 管道中替换
要在变量中设置的“名称”应该是什么以及如何设置。
我希望将“值”设置为“D:\Logs\log.txt”。谢谢
如FileTransform task document中所述。管道中定义的变量将与 appSettings、applicationSettings 和 connectionStrings 部分中的 key
或 name
条目匹配。
Variables defined in the build or release pipelines will be matched against the 'key' or 'name' entries in the appSettings, applicationSettings, and connectionStrings sections of any config file and parameters.xml. Variable Substitution is run after config transforms.
因此您可以在配置文件中向 file
属性 添加一个 name
属性。例如在下面。我添加一个名称属性 LogFile
:
<applicationSettings>
<log4net debug="true">
<appender name="appender1">
<file name="LogFile" value="log.txt"/>
</appender>
</log4net>
</applicationSettings>
然后您可以在 azure devops 管道的变量部分定义一个名为 LogFile
的变量。请参阅以下示例:
variables:
LogFile: D:\Logs\log.txt
steps:
- task: FileTransform@1
inputs:
folderPath: $(System.DefaultWorkingDirectory)
fileType: xml
如果您不想将 name
属性添加到 file
属性。可以使用TaskMagic Chuncks来替换file
属性.
设置转换:configuration/configSections/applicationSettings/log4net/appender/file/@value": "D:\Logs\log.txt"
。请参阅以下示例:
请参阅 here 了解如何转换 XML 个文件
steps:
- task: sergeyzwezdin.magic-chunks.magic.chunks.MagicChunks@2
displayName: 'Config transform'
inputs:
sourcePath: '$(System.DefaultWorkingDirectory)/path/to/app.config'
transformations: |
{
"configuration/configSections/applicationSettings/log4net/appender/file/@value": "D:\Logs\log.txt"
}