コード例 #1
0
ファイル: VisionChannel1.cs プロジェクト: ciprianp/dcomms
        public event Action <LogMessage> SevereMessageEmitted; // is used to pass errors to android adb log

        public override void EmitListOfPeers(string sourceId, string moduleName, AttentionLevel level, string message, List <IVisiblePeer> peersList_RoutingPath, IVisiblePeer selectedPeer)
        {
            if (!EnableNewLogMessages)
            {
                return;
            }
            var msg = new LogMessage(this)
            {
                AttentionLevel       = level,
                ManagedThreadId      = Thread.CurrentThread.ManagedThreadId,
                Time                 = TimeNow,
                SourceId             = sourceId,
                ModuleName           = moduleName,
                Message              = message,
                PeersListDisplayMode = peersList_RoutingPath != null ? VisiblePeersDisplayMode.routingPath : VisiblePeersDisplayMode.allPeers,
            };

            if (VisiblePeersDelegate != null)
            {
                try
                {
                    msg.PeersList = peersList_RoutingPath ?? ClonedVisiblePeer.Clone(VisiblePeersDelegate(), selectedPeer);
                }
                catch // intentionally ignore
                {
                }
            }

            lock (_logMessagesNewestFirst)
            {
                _logMessagesNewestFirst.AddFirst(msg);
                CleanMemoryIfNeeded(msg.Time);
            }

            if (_maxEmittedAttentionLevelLogMessage == null || msg.AttentionLevel >= _maxEmittedAttentionLevelLogMessage.AttentionLevel)
            {
                _maxEmittedAttentionLevelLogMessage = msg;
            }
        }
コード例 #2
0
ファイル: VisionChannel1.cs プロジェクト: ciprianp/dcomms
        public override void Emit(string sourceId, string moduleName, AttentionLevel level, string message)
        {
            if (!EnableNewLogMessages)
            {
                return;
            }
            var msg = new LogMessage(this)
            {
                AttentionLevel  = level,
                ManagedThreadId = Thread.CurrentThread.ManagedThreadId,
                Time            = TimeNow,
                SourceId        = sourceId,
                ModuleName      = moduleName,
                Message         = message
            };

            lock (_logMessagesNewestFirst)
            {
                _logMessagesNewestFirst.AddFirst(msg);
                CleanMemoryIfNeeded(msg.Time);
            }

            if (_maxEmittedAttentionLevelLogMessage == null || msg.AttentionLevel >= _maxEmittedAttentionLevelLogMessage.AttentionLevel)
            {
                _maxEmittedAttentionLevelLogMessage = msg;
            }

            if (msg.AttentionLevel >= AttentionLevel.mediumPain)
            {
                try
                {
                    SevereMessageEmitted?.Invoke(msg);
                }
                catch
                {
                }
            }
        }
コード例 #3
0
 void EmitAllPeers(AttentionLevel level, string message)
 {
     _visionChannel.EmitListOfPeers("allPeers", DrpTesterVisionChannelModuleName, level, message + $" ({_xList.Count} peers)");
 }
コード例 #4
0
ファイル: Abstraction.cs プロジェクト: gvsurenderreddy/dcomms
 public void Emit(string objectName, string sourceCodePlaceId, AttentionLevel level, string message)
 {
 }
コード例 #5
0
ファイル: VisionChannel1.cs プロジェクト: ciprianp/dcomms
        public override void EmitPeerInRoutedPath(string visionChannelSourceId, string moduleName, AttentionLevel level, string message, object req, IVisiblePeer localPeer)
        {
            if (!EnableNewLogMessages)
            {
                return;
            }
            var msg = new LogMessage(this)
            {
                AttentionLevel  = level,
                ManagedThreadId = Thread.CurrentThread.ManagedThreadId,
                Time            = TimeNow,
                SourceId        = visionChannelSourceId,
                ModuleName      = moduleName,
                Message         = message,
            };

            if (AttentionToRoutedPath && req != null)
            {
                try
                {
                    msg.RoutedPathPeer = ClonedVisiblePeer.Clone(localPeer);
                }
                catch // intentionally ignore
                {
                }
                msg.RoutedPathReq = req;
            }

            lock (_logMessagesNewestFirst)
            {
                _logMessagesNewestFirst.AddFirst(msg);
                CleanMemoryIfNeeded(msg.Time);
            }
            if (_maxEmittedAttentionLevelLogMessage == null || msg.AttentionLevel >= _maxEmittedAttentionLevelLogMessage.AttentionLevel)
            {
                _maxEmittedAttentionLevelLogMessage = msg;
            }
        }
コード例 #6
0
 public override void Emit(string visionChannelSourceId, string moduleName, AttentionLevel level, string message)
 {
     _wtl($"[{visionChannelSourceId}] {message}");
 }