Как добавить пользовательский ITraceWriter в Newtonsoft JSON в ASP. NET Core Startup? - PullRequest
0 голосов
/ 07 марта 2020

Я хочу добавить собственный модуль записи трассировки, чтобы помочь с отладкой вызовов JSON. Я реализовал класс ITraceWriter, но не могу найти документацию о том, как добавить его к этому вызову. Любая помощь будет оценена.

services.AddControllers().AddNewtonsoftJson()

И объект

public class JSONTraceWriter : Newtonsoft.Json.Serialization.ITraceWriter
{
    public TraceLevel LevelFilter
    {
        get
        {
            return TraceLevel.Error;
        }
    }

    TraceLevel ITraceWriter.LevelFilter => TraceLevel.Error;


    public void Trace(TraceLevel level, string message, Exception ex)
    {
        SiAuto.Main.LogMessage($"JSONTraceWriter: {message}");
        SiAuto.Main.LogException("JSONTracerWriter", ex);
    }
}

1 Ответ

1 голос
/ 07 марта 2020

Вы можете добавить собственный модуль записи трассировки, установив JsonSerializerSettings.TraceWriter в MvcNewtonsoftJsonOptions.SerializerSettings при вызове AddNewtonsoftJson(this IMvcCoreBuilder, Action<MvcNewtonsoftJsonOptions>):

services.AddControllers()
    .AddNewtonsoftJson(options =>
    {
        options.SerializerSettings.TraceWriter = new JSONTraceWriter();
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...