public void LogHeaderMessage(String message, LT319.Common.Models.HeaderRequest headerLogRequest, NLog.LogLevel logLevel) { var eventInfo = new LogEventInfo(logLevel, logger.Name, message); eventInfo.Properties["TrackingGuid"] = headerLogRequest.TrackingGuid; eventInfo.Properties["Name"] = headerLogRequest.Name; eventInfo.Properties["Direction"] = headerLogRequest.Direction; eventInfo.Properties["SystemId"] = headerLogRequest.SystemId; eventInfo.Properties["MappingCollectionType"] = headerLogRequest.MappingCollectionType; eventInfo.Properties["InternalId"] = headerLogRequest.InternalId; eventInfo.Properties["ExternalId"] = headerLogRequest.ExternalId; eventInfo.Properties["StartTimesTamp"] = headerLogRequest.StartTimestamp; eventInfo.Properties["Status"] = headerLogRequest.Status; // Send to Log logger.Log(eventInfo); }
/// <summary> /// Used to create a log tracking header and/or check/create tracking guid /// </summary> /// <param name="trackingGuid"></param> /// <param name="context"></param> /// <param name="requestTrackingGuid"></param> /// <param name="systemId"></param> /// <param name="internalId"></param> /// <returns></returns> public static Guid CreateLogTrackingHeader(Guid?trackingGuid, Sheev.Common.BaseModels.IBaseContextModel context, Guid?requestTrackingGuid = null, long?systemId = 0, long?internalId = 0) { // Create a new Guid var responseGuid = Guid.NewGuid(); // Check if trackingGuid passed in has a value and is not an empty guid, if it has a value, return that value if (trackingGuid.HasValue && trackingGuid != Guid.Empty) { return(trackingGuid.Value); } else if (requestTrackingGuid.HasValue && requestTrackingGuid != Guid.Empty) { return(requestTrackingGuid.Value); } // Create a new Header Request LT319.Common.Models.HeaderRequest logHeader = new LT319.Common.Models.HeaderRequest(); try { // Build the Header Request logHeader.TrackingGuid = responseGuid; logHeader.StartTimestamp = DateTimeOffset.Now; logHeader.Direction = (int)Sheev.Common.Utilities.Constants.TM_MappingDirection.TO_IPAAS; logHeader.SystemId = systemId; logHeader.MappingCollectionType = (int)Sheev.Common.Utilities.Constants.TM_MappingCollectionType.NONE; logHeader.Status = LT319.Common.Utilities.Constants.TrackingStatus.Active.ToString(); // Add Internal Id if a value for Internal Id was passed in if (internalId != null && internalId > 0) { logHeader.InternalId = internalId; } // Create a new Tracking Detail Log Utilities.TrackingDetailLog trackingLogRequest = new TrackingDetailLog() { Token = context.Security.GetAuthToken(), TrackingHeaderLogRequest = logHeader }; // Check if the threadedTrackingLogger has a value, if it does not, create a new one if (threadedTrackingLogger == null) { threadedTrackingLogger = new ThreadedLogger_TrackingDetail(); } //Log using NLog //check if the application is logging the message don't have NLog set. if (context.NLogger != null) { context.NLogger.LogHeaderMessage($"Log Header ({trackingLogRequest.TrackingHeaderLogRequest.TrackingGuid})", trackingLogRequest.TrackingHeaderLogRequest, NLog.LogLevel.Info); } // Log the tracking log request //To remove logging to old logger comment the below statement threadedTrackingLogger.LogMessage(trackingLogRequest, context); } catch (Exception ex) { string errorMessage = $"Error: {ex.Message} while trying to create activity header: GUID {trackingGuid}"; BackupLogger(errorMessage, "Logging.CreatLogTrackingHeader()", EventLogEntryType.Error, context, trackingGuid); } // Return the new Tracking Guid return(responseGuid); }