CK.Core.ActivityMonitor.DependentToken.Start C# (CSharp) Method

Start() static private method

static private Start ( ActivityMonitor token, IActivityMonitor monitor, string fileName, int lineNumber ) : IDisposable
token ActivityMonitor
monitor IActivityMonitor
fileName string
lineNumber int
return IDisposable
            static internal IDisposable Start( ActivityMonitor.DependentToken token, IActivityMonitor monitor, string fileName, int lineNumber )
            {
                string msg = token.FormatStartMessage();
                if( token.Topic != null )
                {
                    string currentTopic = token.Topic;
                    monitor.SetTopic( token.Topic, fileName, lineNumber );
                    var g = monitor.UnfilteredOpenGroup( ActivityMonitor.Tags.StartDependentActivity, LogLevel.Info, null, msg, monitor.NextLogTime(), null, fileName, lineNumber );
                    return Util.CreateDisposableAction( () => { g.Dispose(); monitor.SetTopic( currentTopic, fileName, lineNumber ); } );
                }
                return monitor.UnfilteredOpenGroup( ActivityMonitor.Tags.StartDependentActivity, LogLevel.Info, null, msg, monitor.NextLogTime(), null, fileName, lineNumber );
            }
        }