提问人:cargt4 提问时间:11/16/2023 最后编辑:cargt4 更新时间:11/16/2023 访问量:71
记录大型 json 时发生 Serilog 内存泄漏
Serilog Memory leak when logging large json
问:
我有默认的记录器配置
var logger = new LoggerConfiguration();
Log.Logger = logger.CreateLogger();
当我在击中控制器内存之前发送 30Mb json 时,内存增加了 0.5GB
_logger.LogInformation($"Controller AddBatch {batch}");
此行会导致内存增加 2GB。此内存永远不会被处理掉。
[HttpPost(Name = "Test")]
public string Test([FromBody] JObject batch)
{
_logger.LogInformation($"Controller AddBatch {batch}");
return "";
}
编辑是因为我在简单的例子中复制了这个
答: 暂无答案
评论
_logger.LogInformation($"Controller AddBatchTimeLogs {batchTimeLogs}");
=> 不要使用字符串插值。它可能不会立即解决整个问题,但肯定会改善这种情况。