生产服务器上的 NLog 奇怪行为

NLog strange behavior on production server

一旦 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完全一样

有什么想法吗?

感谢您指出 appsettings.json 内容。我一直卡在 NLog 配置上,以为问题就在这里,但实际上不是,问题就在这里 :

    "Logging": {
    "LogLevel": {
        "Default": "Debug"
    }
},

默认为警告,因此,很难记录低于以下级别。我改成Debug,没问题