NLog.LogFactory.ConfigFileChanged C# (CSharp) Method

ConfigFileChanged() private method

private ConfigFileChanged ( object sender, EventArgs args ) : void
sender object
args System.EventArgs
return void
        private void ConfigFileChanged(object sender, EventArgs args)
        {
            InternalLogger.Info("Configuration file change detected! Reloading in {0}ms...", ReconfigAfterFileChangedTimeout);

            // In the rare cases we may get multiple notifications here, 
            // but we need to reload config only once.
            //
            // The trick is to schedule the reload in one second after
            // the last change notification comes in.
            lock (this)
            {
                if (this.reloadTimer == null)
                {
                    this.reloadTimer = new Timer(
                        this.ReloadConfigOnTimer,
                        this.Configuration,
                        ReconfigAfterFileChangedTimeout,
                        Timeout.Infinite);
                }
                else
                {
                    this.reloadTimer.Change(ReconfigAfterFileChangedTimeout, Timeout.Infinite);
                }
            }
        }
#endif