/// <summary> /// 获取所有调试日志(分页) /// </summary> /// <param name="request">查询条件</param> /// <param name="page"></param> /// <param name="rows"></param> /// <returns></returns> public ActionResult GetPagingDebugLogs(GetPagingDebugLogsRequest request, int page, int rows) { var result = string.Empty; if (request == null) { request = new GetPagingDebugLogsRequest(); } request.PageIndex = page; request.PageSize = rows; var rs = _debugLogService.GetPagingDebugLogs(request); if (rs.ReturnCode == ReturnCodeType.Success) { result = "{\"total\": " + rs.Content.TotalCount + ",\"rows\":" + rs.Content.Entities.ToJson(dateTimeFormat: "yyyy-MM-dd HH:mm:ss.fff") + "}"; } return(Content(result)); }
/// <summary> /// 获取所有调试日志(分页) /// </summary> /// <param name="request"></param> /// <returns></returns> public ServiceResult <PagingResult <GetPagingDebugLogsResponse> > GetPagingDebugLogs(GetPagingDebugLogsRequest request) { var result = new ServiceResult <PagingResult <GetPagingDebugLogsResponse> > { ReturnCode = ReturnCodeType.Error, Content = new PagingResult <GetPagingDebugLogsResponse>() }; //处理详情页面url var logSiteUrl = Log.Common.Helper.ConfigHelper.LogSite; var rs = _debugLogDao.GetPagingDebugLogs(request); if (rs != null && rs.Entities.HasValue()) { var debugLogs = rs.Entities; foreach (var item in debugLogs) { item.DetailUrl = string.Format("{0}DebugLog/Detail/{1}", logSiteUrl, item.Id); //处理message if (item.Message != null && item.Message.Length > 0) { try { item.MessageDetail = item.Message.LZ4Decompress(); } catch { } } } } result.ReturnCode = ReturnCodeType.Success; result.Content = rs; return(result); }
/// <summary> /// 获取所有调试日志(分页) /// </summary> /// <param name="request"></param> /// <returns></returns> public PagingResult <GetPagingDebugLogsResponse> GetPagingDebugLogs(GetPagingDebugLogsRequest request) { PagingResult <GetPagingDebugLogsResponse> result = null; var totalCount = 0; var startIndex = (request.PageIndex - 1) * request.PageSize + 1; var endIndex = request.PageIndex * request.PageSize; //按条件查询,构造where //使用DynamicParameters var p = new DynamicParameters(); var sbSqlPaging = new StringBuilder(@"SELECT ROW_NUMBER() OVER ( ORDER BY debugLogs.id DESC ) AS RowNum , debugLogs.created_time AS CreatedTime , debugLogs.system_code AS SystemCode , debugLogs.ip_address AS IpAddress , debugLogs.client_ip AS ClientIp, debugLogs.appdomain_name AS AppDomainName , * FROM dbo.t_logs_debug_log AS debugLogs WHERE 1 = 1"); var sbSqlTotal = new StringBuilder(@"SELECT COUNT(debugLogs.id) FROM dbo.t_logs_debug_log AS debugLogs WHERE 1 = 1"); if (!request.SystemCode.IsNullOrEmpty()) { sbSqlPaging.Append(" AND debugLogs.system_code=@SystemCode"); sbSqlTotal.Append(" AND debugLogs.system_code=@SystemCode"); p.Add("SystemCode", request.SystemCode, dbType: System.Data.DbType.String); } if (!request.Source.IsNullOrEmpty()) { sbSqlPaging.Append(" AND debugLogs.source=@Source"); sbSqlTotal.Append(" AND debugLogs.source=@Source"); p.Add("Source", request.Source, System.Data.DbType.String); } if (!request.Message.IsNullOrEmpty()) { sbSqlPaging.Append(" AND debugLogs.message LIKE @Message"); sbSqlTotal.Append(" AND debugLogs.message LIKE @Message"); p.Add("Message", "%" + request.Message + "%", System.Data.DbType.String); } if (request.CreatedTimeStart.HasValue) { sbSqlPaging.Append(" AND debugLogs.created_time >= @CreatedTimeStart"); sbSqlTotal.Append(" AND debugLogs.created_time >= @CreatedTimeStart"); p.Add("CreatedTimeStart", request.CreatedTimeStart.Value, System.Data.DbType.DateTime); } if (request.CreatedTimeEnd.HasValue) { sbSqlPaging.Append(" AND debugLogs.created_time <= @CreatedTimeEnd"); sbSqlTotal.Append(" AND debugLogs.created_time <= @CreatedTimeEnd"); p.Add("CreatedTimeEnd", request.CreatedTimeEnd.Value, System.Data.DbType.DateTime); } var sqlPaging = string.Format(@"SELECT rs.* FROM ( {0} ) AS rs WHERE rs.RowNum BETWEEN @Start AND @End", sbSqlPaging.ToString()); var sqlStr = string.Format("{0};{1};", sqlPaging, sbSqlTotal.ToString()); p.Add("Start", startIndex, System.Data.DbType.Int32); p.Add("End", endIndex, System.Data.DbType.Int32); using (var conn = DapperHelper.CreateConnection()) { var multi = conn.QueryMultiple(sqlStr, p); var query1 = multi.Read <GetPagingDebugLogsResponse>(); var query2 = multi.Read <int>(); totalCount = query2.First(); result = new PagingResult <GetPagingDebugLogsResponse>(totalCount, request.PageIndex, request.PageSize, query1); } return(result); }