/// <summary> /// Add Kiroku log event. /// </summary> /// <param name="record"></param> /// <param name="instanceId"></param> /// <returns></returns> public static SQLResponseModel AddLog(LogRecordModel record, Guid instanceId) { SQLResponseModel response = new SQLResponseModel(); try { using (var connection = new SqlConnection(Configuration.SqlConnetionString)) { var cmd = new SqlCommand("usp_Kiroku_KLogs_InsertAdd", connection); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("dt_session", record.EventTime); cmd.Parameters.AddWithValue("dt_event", record.EventTime); cmd.Parameters.AddWithValue("ui_blockid", record.BlockID); cmd.Parameters.AddWithValue("nvc_blockname", record.BlockName); cmd.Parameters.AddWithValue("nvc_logtype", record.LogType); cmd.Parameters.AddWithValue("nvc_logdata", record.LogData); connection.Open(); var reader = cmd.ExecuteReader(); response.Successful(); return(response); } } catch (Exception ex) { response.Failure(ex.ToString()); return(response); } }
/// <summary> /// Add Kiroku Block pair. /// </summary> /// <param name="logRecord"></param> /// <param name="startRecord"></param> /// <param name="instanceId"></param> /// <returns></returns> public static SQLResponseModel AddBlock(LogRecordModel logRecord, LogRecordModel startRecord, Guid instanceId) { SQLResponseModel response = new SQLResponseModel(); try { using (var connection = new SqlConnection(Configuration.SqlConnetionString)) { var cmd = new SqlCommand("usp_Kiroku_KBlocks_InsertBlock", connection); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("ui_instanceid", instanceId); cmd.Parameters.AddWithValue("ui_blockid", logRecord.BlockID); cmd.Parameters.AddWithValue("nvc_blockname", logRecord.BlockName); cmd.Parameters.AddWithValue("dt_blockstart", startRecord.EventTime); cmd.Parameters.AddWithValue("dt_blockstop", logRecord.EventTime); connection.Open(); var reader = cmd.ExecuteReader(); response.Successful(); return(response); } } catch (Exception ex) { response.Failure(ex.ToString()); return(response); } }
/// <summary> /// Check if Kiroku logging Instance already exist in database. /// </summary> /// <param name="instanceId"></param> /// <returns></returns> public static SQLResponseModel CheckInstanceId(Guid instanceId) { SQLResponseModel response = new SQLResponseModel(); Guid check = new Guid(); try { using (var connection = new SqlConnection(Configuration.SqlConnetionString)) { var cmd = new SqlCommand("usp_Kiroku_KInstances_SelectCheck", connection); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("ui_instanceid", instanceId.ToString()); connection.Open(); var reader = cmd.ExecuteReader(); while (reader.Read()) { check = (Guid)reader["ui_instanceid"]; } } response.Id = check; response.Successful(); return(response); } catch (Exception ex) { response.Failure(ex.ToString()); return(response); } }
public static void Execute() { // Blob retention using (KLog blobRetention = new KLog("BlobFileRetention-BlobRetention")) { try { IEnumerable <BlobFileModel> retentionFileCollection = BlobFileCollection.CurrentRetentionCount(); blobRetention.Info($"Retention Count: {retentionFileCollection.Count()}"); foreach (BlobFileModel blobFile in retentionFileCollection) { // for each file, confim check one more blobRetention.Info($"Retention => File Name: {blobFile.CloudFile}"); string cloudFile = blobFile.CloudFile; try { BlobClient.DeleteBlobFile(cloudFile); blobRetention.Info($"File Deleted => File Name: {blobFile.CloudFile}"); } catch (Exception ex) { blobRetention.Error($"Delete Failure: {blobFile.CloudFile} Exception: {ex}"); } } } catch (Exception ex) { blobRetention.Error($"BlobFileRetention Exception: {ex.ToString()}"); } } // SQL Retention using (KLog sqlRetention = new KLog("BlobFileRetention-SQLRetention")) { try { SQLResponseModel checkRetention = DataAccessor.Retention(Configuration.RetentionDays); if (!checkRetention.Success) { sqlRetention.Error($"SQL Expection on [BlobFileRetention].[Retention] - Message: {checkRetention.Message}"); } } catch (Exception ex) { sqlRetention.Error($"BlobFileRetention Exception: {ex.ToString()}"); } } }
/// <summary> /// Add the start of the Kiroku logging Instance. /// </summary> /// <param name="instanceHeader"></param> /// <returns></returns> public static SQLResponseModel AddInstanceStart(InstanceModel instanceHeader) { SQLResponseModel response = new SQLResponseModel(); try { using (var connection = new SqlConnection(Configuration.SqlConnetionString)) { var cmd = new SqlCommand("usp_Kiroku_KInstances_InsertStart", connection); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("ui_instanceid", instanceHeader.InstanceID); cmd.Parameters.AddWithValue("dt_instancestart", instanceHeader.EventTime); cmd.Parameters.AddWithValue("ui_applicationid", instanceHeader.ApplicationID); cmd.Parameters.AddWithValue("nvc_trackid", instanceHeader.TrackID); cmd.Parameters.AddWithValue("nvc_regionid", instanceHeader.RegionID); cmd.Parameters.AddWithValue("nvc_clusterid", instanceHeader.ClusterID); cmd.Parameters.AddWithValue("nvc_deviceid", instanceHeader.DeviceID); cmd.Parameters.AddWithValue("nvc_klogversion", instanceHeader.Version); connection.Open(); var reader = cmd.ExecuteReader(); response.Successful(); return(response); } } catch (Exception ex) { response.Failure(ex.ToString()); return(response); } }