NLog配置设置呈现器未按预期工作

  • 本文关键字:工作 配置 设置 NLog nlog
  • 更新时间 :
  • 英文 :


刚刚上传了一个测试用例应用程序-https://github.com/lsfera/NLog-Demo-cases/tree/master/Net5

我的appsettings中有一个配置部分,用于提供特定于环境的参数。

"LoggingContext": {
..
"ApplicationName": "cool-app",
"SyslogUrl": "syslog.server.url"
}

一切都很好——还有configSetting布局渲染器部分——只是它没有像(I(预期的那样工作。

"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}">

与类型为";Http";用";URL";参数"${configsetting:item=LoggingContext.AlertServiceUrl}">

这种配置有什么问题
示例项目包含nlog.config xml版本-太方便

NLog.Targets.Syslog版本6.0.3已发布到nuget,并支持Layout的Server属性。

NLog.Targets.HTTP版本1.0.16已发布给nuget,并支持Layout对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>

最新更新