Как регистрировать и отслеживать исключения для приложения.net

Мне поручено регистрировать и отслеживать исключения в приложении.net. Цель состоит в том, чтобы все данные были зарегистрированы после развертывания приложения. И информация должна легко отслеживаться для обработки ошибок. Мы используем лазурные услуги. Чтобы сделать постановку задачи более понятной, приведем небольшой демонстрационный код

public bool Connect()
{
        try
        {
            while (!IsConnected())
            {
                _terminal = new TerminalClient("denaliTermClient", _terminalsrv_host, _terminalsrv_port);
                if (_terminal.KillTerminals())
                {
                    _logger.Log("Existing terminals killed successfully");
                }
                else
                {
                    _logger.Log("Failed killing existing terminals");
                }

                _connection.Connect(
                _terminalsrv_host,
                _terminalsrv_port,
                _broker,
                _account,
                _password);
                }
                return true;
            }
         catch (Exception ex)
         {
             long cid = DefaultLogger.CorrelationID;
             _logger.Log(cid, ex);
             if (ex.Message != null)
             {
                 if (ex.Message.Contains("No connection could be made because the target machine actively refused it"))
                 {
                    _logger.Log(cid, "Connection Failed. Please start the Nj4x Terminal Server.");
                 }
                 else if (ex.Message.Contains("Invalid user name or password"))

                 {
                    _logger.Log(cid, "Nj4x is running in trial mode. Cannot start trading.");
                 }
              }
              this.Connect();    // TODO !
         }

            return false;
}

Теперь, как я должен реализовать этот интерфейс ILogger. Какие услуги я должен использовать? У меня нет опыта в этом, так что, очевидно, я не очень хорошо проинформирован об этом. Надеюсь, я четко сформулировал проблему.

Изменить: мне не нравится идея входа в. TXT-файл. Он будет содержать тысячи журналов, поэтому его будет сложно отследить. Я ищу хорошую структуру, которая также помогает в управляемости.

1 ответ

Если вы используете службы Azure, я считаю, что Application Insights - ваш путь.

Без большого количества настроек он автоматически обнаруживает ваши неперехваченные исключения и регистрирует их, среди множества других вещей. Вы можете добавить свои собственные следы тоже.

Здесь у вас есть хорошая статья, написанная в MSDN, объясняющая весь процесс.

Надеюсь, поможет!

Другие вопросы по тегам