繁体   English   中英

无法使用 NLOG 记录字符串

[英]Can't log string using NLOG

我无法使用 NLOG 从 HTTP 请求中记录字符串。 这是代码:

                        HttpResponseMessage res = client.PostAsync(path, content).Result;

                        if (!res.IsSuccessStatusCode)
                        {
                            if (File.Exists(tempFilePath))
                                File.Delete(tempFilePath);
                            String responseStr = res.Content.ReadAsStringAsync().Result;
                            //TODO(nassim) : Remplacé ce try catch par juste un retour d'erreur dans les log

                            //ErrorReponse error = JsonConvert.DeserializeObject<ErrorReponse>(responseStr);
                            Logger.Debug("Taille du log : " + responseStr.Length);
                            if(responseStr.Length > 200)
                            {
                                Logger.Debug(" 1");
                                Logger.Error("Erreur d'envoi de Document a Recital : " + responseStr.Substring(0, 200));
                            }
                            else
                            {
                                Logger.Debug(" 2");
                                Logger.Error("Erreur d'envoi de Document a Recital : " + responseStr.Substring(0, 10));
                            }

                            if (responseStr.Contains("Invalid credentials.") || responseStr.Contains("Token is expired."))
                            {
                                refreshToken(vault, storedValues);
                                storeDocInReciTAL(env);
                            }
                            throw new Exception("Erreur d'envoi du document vers reciTAL.");

这是堆栈跟踪:

在此处输入图像描述

如您所见,与 responseStr 连接的行没有显示在任何地方。 一开始以为是字符串太长了,结果只有37个字符。

我究竟做错了什么?

使用结构化日志记录可以解决问题。 我不明白为什么它不适用于简单的串联。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM