コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }