Как заставить Kibana просматривать сообщения INFO со сложными объектами? - PullRequest
0 голосов
/ 10 апреля 2019

В моем приложении есть Serilog. Я пытаюсь записать в файл и в Kibana, используя ElasticSearch. Когда ловится исключение - я хочу зарегистрировать ошибку и некоторую информацию о методах и аргументах, которые вызвали исключение. Проблема в том, что Kibana перехватывает не все сообщения, а файлы.

Я пытался установить разные минимальные уровни ведения журнала, включая Debug, которого также нет в Kibana.

    private static LoggerConfiguration Logger = new LoggerConfiguration()
                                                   .MinimumLevel.Information()
                                                   .WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri("http://localhost:9200"))
                                                   {
                                                       AutoRegisterTemplate = true,
                                                       MinimumLogEventLevel = LogEventLevel.Information,
                                                       AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv6
                                                   })
                                                   .WriteTo.File(Path.Combine(MailHelper.DailySerilogPath, $"{Program.CurrentUser.Login}_actions_log_.txt"),
                                                                 rollingInterval: RollingInterval.Day)
                                                   .WriteTo.File(Path.Combine(MailHelper.MonthlySerilogPath, $"{Program.CurrentUser.Login}_actions_log_(full month).txt"),
                                                                 rollingInterval: RollingInterval.Month,
                                                                 retainedFileCountLimit: 12);


    public static void LogError(Exception exception, object someObject)
    {
        Log.Error(exception, "Some exception");
        Log.Information("{@someObject}", someObject);
    }


        try
        {
           // some code with someObject 
        }
        catch(Exception ex)
        {                
            SLog.LogError(ex, someObject);
        }

В результате я вижу ошибку и полную информацию об объекте в текстовом файле, но Kibana показывает только ошибку. Может быть, я должен использовать настроить Elastic по-другому?

...