Exemplo n.º 1
0
        public MemoryLogVo GetMemoryLog(GetMemoryLogArgs args)
        {
            if (args == null)
            {
                throw new ArgumentNullException(nameof(args));
            }
            if (string.IsNullOrWhiteSpace(args.Name))
            {
                return(null);
            }

            if (MemoryLogFactory.Instance.Loggers.TryGetValue(args.Name, out var logger))
            {
                var item = new MemoryLogVo();
                item.Name = logger.Name;
                var theLogs = logger.Logs.ToList();
                item.Count = theLogs.Count;
                foreach (var theLog in theLogs)
                {
                    item.Logs.Add(theLog.Message);
                }
                return(item);
            }
            return(null);
        }
Exemplo n.º 2
0
        public List <MemoryLogVo> GetMemoryLogs(GetMemoryLogsArgs args)
        {
            var items = new List <MemoryLogVo>();

            if (args == null)
            {
                throw new ArgumentNullException(nameof(args));
            }

            var loggers = MemoryLogFactory.Instance.Loggers.Values.AsEnumerable();

            if (!string.IsNullOrWhiteSpace(args.Like))
            {
                loggers = loggers.Where(x => x.Name.Contains(args.Like, StringComparison.OrdinalIgnoreCase));
            }

            var withLogs = args.WithLogs.HasValue && args.WithLogs.Value;

            foreach (var logger in loggers)
            {
                var item = new MemoryLogVo();
                item.Name = logger.Name;
                var theLogs = logger.Logs.ToList();
                item.Count = theLogs.Count;
                if (withLogs)
                {
                    foreach (var theLog in theLogs)
                    {
                        item.Logs.Add(theLog.Message);
                    }
                }
                items.Add(item);
            }
            return(items);
        }