public void Dispose()
        {
            _stopwatch.Stop();

            if (!_supressed)
            {
                var duration    = _stopwatch.ElapsedMilliseconds;
                var lykkeLogger = _context.GetLykkeLogger();
                var message     = GetMessage();

                switch (_logLevel)
                {
                case LogLevel.Info:
                    lykkeLogger.Info(message, duration, _process, _trigger);
                    break;

                case LogLevel.Warning:
                    lykkeLogger.Warning(message, duration, _process, _trigger, _exception);
                    break;

                case LogLevel.Error:
                    lykkeLogger.Error(message, duration, _process, _trigger, _exception);
                    break;

                case LogLevel.FatalError:
                    lykkeLogger.FatalError(message, duration, _process, _trigger, _exception);
                    break;

                case LogLevel.Monitoring:
                    lykkeLogger.Monitoring(message, duration, _process, _trigger);
                    break;
                }
            }
        }