Example #1
0
 public override Task <LogRes> Log(LogModel request, ServerCallContext context)
 {
     request.Logtime = LogDbHelper.GetTimeStamp();
     if (request.Loglevel == 4)
     {
         LogData.ErrorData.Enqueue(request);
         LogData.AllData.Enqueue(request);
     }
     else
     {
         LogData.AllData.Enqueue(request);
     }
     return(Task.FromResult(new LogRes {
         Code = 200, Msg = "success"
     }));
 }
Example #2
0
        public override Task <LogPageRes> SearchLog(LogPageReq request, ServerCallContext context)
        {
            long total  = 0;
            var  result = new LogPageRes();

            try
            {
                var list = LogDbHelper.GetLogModels(request.Start, request.Limit, request.Startime, request.Endtime, request.Loglevel, out total
                                                    , request.Appid, request.Branch, request.Model, request.Category, request.Logkey);
                result.Logmodels.AddRange(list);
                result.Total = total;
            }
            catch (Exception ex)
            {
                result.Code = -1;
                result.Msg  = ex.Message;
            }
            return(Task.FromResult(result));
        }
Example #3
0
        private void LogPersistence()
        {
            var thread = new Thread(
                t =>
            {
                var list = new List <LogModel>();
                while (run)
                {
                    try
                    {
                        LogModel logmodel = null;
                        var isok          = LogData.AllData.TryDequeue(out logmodel);
                        if (isok)
                        {
                            list.Add(logmodel);
                            if (list.Count >= 5000)
                            {
                                LogDbHelper.BatchInsert(list);
                                list.Clear();
                                Thread.Sleep(1000);
                            }
                        }
                        else
                        {
                            if (list.Any())
                            {
                                LogDbHelper.BatchInsert(list);
                                list.Clear();
                                Thread.Sleep(1000);
                            }
                            Thread.Sleep(1000);
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
            });

            thread.Start();
        }