在运行服务器上发布NLog之后,我发生了一些奇怪的事情。
我这样配置它:
"targets": {
"all-file": {
"type": "File",
"fileName": "${var_logdir}/nlog-all-${shortdate}.log",
"layout": {
"type": "JsonLayout",
"Attributes": [
{
"name": "timestamp",
"layout": "${longdate}"
},
{
"name": "level",
"layout": "${level}"
},
{
"name": "logger",
"layout": "${logger}"
},
{
"name": "message",
"layout": "${message:raw=true}"
},
{
"name": "properties",
"encode": false,
"layout": {
"type": "JsonLayout",
"includeallproperties": "true"
}
},
{
"name": "username",
"layout": "${aspnet-user-identity}"
}
]
}
以及类似的规则:
{
"logger": "*",
"minLevel": "Trace",
"writeTo": "all-file"
},
它在开发环境中可以完美地工作,我可以进行日志记录,因为它可以追溯到致命错误,但是当我进入产品时,我只能从警告级别进行日志记录。
我在prod中比较了我的appsetings.json,它与debug完全相同。
有什么主意吗?
答案 0 :(得分:1)
感谢您指出我的appsettings.json内容。我被困在NLog配置上,以为问题出在这里,但实际上不,这是在这里:
"Logging": {
"LogLevel": {
"Default": "Debug"
}
},
默认值为警告,因此很难记录以下级别。我改成了Debug,它工作正常。