internal static void SetListenerLevel(AdalTraceLevel level)
        {
            if (level != AdalTraceLevel.None)
            {
                if (adalListener == null)
                {
                    adalListener = new StorageFileEventListener(LogFilename);
                }

                adalListener.EnableEvents(AdalEventSource, GetEventLevel(level));
            }
            else if (adalListener != null)
            {
                adalListener.DisableEvents(AdalEventSource);
                adalListener.Dispose();
                adalListener = null;
            }
        }
        internal static void SetListenerLevel(AdalTraceLevel level)
        {
            if (level != AdalTraceLevel.None)
            {
                if (adalListener == null)
                {
                    adalListener = new StorageFileEventListener(LogFilename);
                }

                adalListener.EnableEvents(AdalEventSource, GetEventLevel(level));
            }
            else if (adalListener != null)
            {
                adalListener.DisableEvents(AdalEventSource);
                adalListener.Dispose();
                adalListener = null;
            }
        }
        protected virtual void Dispose(bool disposing)
        {
            if (!disposed)
            {
                if (disposing)
                {
                    if (adalListener != null)
                    {
                        adalListener.Dispose();
                        adalListener = null;
                    }

                    if (AdalEventSource != null)
                    {
                        AdalEventSource.Dispose();
                    }
                }

                disposed = true;
            }
        }
        protected virtual void Dispose(bool disposing)
        {
            if (!disposed)
            {
                if (disposing)
                {
                    if (adalListener != null)
                    {
                        try
                        {
                            adalListener.Dispose();
                        }
                        catch
                        {
                            // ignore
                        }

                        adalListener = null;
                    }

                    if (AdalEventSource != null)
                    {
                        try
                        {
                            AdalEventSource.Dispose();
                        }
                        catch
                        {
                            // ignore
                        }
                    }
                }

                disposed = true;
            }
        }
        protected virtual void Dispose(bool disposing)
        {
            if (!disposed)
            {
                if (disposing)
                {
                    if (adalListener != null)
                    {
                        try
                        {
                            adalListener.Dispose();
                        }
                        catch
                        {
                            // ignore
                        }

                        adalListener = null;
                    }

                    if (AdalEventSource != null)
                    {
                        try
                        {
                            AdalEventSource.Dispose();
                        }
                        catch
                        {
                            // ignore
                        }
                    }
                }

                disposed = true;
            }
        }