NLog 配置设置渲染器未按预期工作
NLog config settings renderer not working as expected
刚刚上传了一个测试用例应用程序 - https://github.com/lsfera/NLog-Demo-cases/tree/master/Net5
我的 appsettings 中有一个配置部分,用于提供特定于环境的参数。
"LoggingContext": {
..
"ApplicationName": "cool-app",
"SyslogUrl": "syslog.server.url"
}
一切正常 - configSetting 布局渲染器部分也是如此 - 除了它没有按(我)预期的那样工作。
"targets": {
"file": {
"type": "AsyncWrapper",
"target": {
"wrappedFile": {
"type": "File",
"fileName": "${configsetting:item=LoggingContext.ApplicationName}.log"
.......
文件名被正确替换 - 正如预期的那样 - 导致“cool-app.log”。
但是当涉及到系统日志部分时:
"syslog": {
...
"messageSend": {
"protocol": "tcp",
"tcp": {
"server": "${configsetting:item=LoggingContext.SyslogUrl}"
...
服务器保留为原始格式 - "${configsetting:item=LoggingContext.SyslogUrl}"
具有“URL”参数“${configsetting:item=LoggingContext.AlertServiceUrl}”的“Http”类型目标存在相同问题“
这个配置有什么问题?
示例项目包含 nlog.config xml 版本 - 太方便了
NLog.Targets.Syslog ver. 6.0.3 has been released to nuget with Layout-support for Server-property.
NLog.Targets.HTTP 版本。 1.0.16 已 released to nuget 与 Layout-support 为 Headers(现在有一个错误,因此必须在目标上显式分配 Authorization=""
)。
<target type="HTTP"
name="ws"
Method='POST'
URL="https://log-api.eu.newrelic.com/log/v1"
ContentType='application/json'
Accept='application/json'
Authorization=''>
<header name="X-License-Key" value="${environment:LICENSE_KEY}"/>
</target>
刚刚上传了一个测试用例应用程序 - https://github.com/lsfera/NLog-Demo-cases/tree/master/Net5
我的 appsettings 中有一个配置部分,用于提供特定于环境的参数。
"LoggingContext": {
..
"ApplicationName": "cool-app",
"SyslogUrl": "syslog.server.url"
}
一切正常 - configSetting 布局渲染器部分也是如此 - 除了它没有按(我)预期的那样工作。
"targets": {
"file": {
"type": "AsyncWrapper",
"target": {
"wrappedFile": {
"type": "File",
"fileName": "${configsetting:item=LoggingContext.ApplicationName}.log"
.......
文件名被正确替换 - 正如预期的那样 - 导致“cool-app.log”。
但是当涉及到系统日志部分时:
"syslog": {
...
"messageSend": {
"protocol": "tcp",
"tcp": {
"server": "${configsetting:item=LoggingContext.SyslogUrl}"
...
服务器保留为原始格式 - "${configsetting:item=LoggingContext.SyslogUrl}"
具有“URL”参数“${configsetting:item=LoggingContext.AlertServiceUrl}”的“Http”类型目标存在相同问题“
这个配置有什么问题?
示例项目包含 nlog.config xml 版本 - 太方便了
NLog.Targets.Syslog ver. 6.0.3 has been released to nuget with Layout-support for Server-property.
NLog.Targets.HTTP 版本。 1.0.16 已 released to nuget 与 Layout-support 为 Headers(现在有一个错误,因此必须在目标上显式分配 Authorization=""
)。
<target type="HTTP"
name="ws"
Method='POST'
URL="https://log-api.eu.newrelic.com/log/v1"
ContentType='application/json'
Accept='application/json'
Authorization=''>
<header name="X-License-Key" value="${environment:LICENSE_KEY}"/>
</target>