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" })); }
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)); }
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(); }