Exemple #1
0
            protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
            {
                if (log.TargetType != typeof(TestLogListener))
                {
                    return;
                }

                switch (logEvent)
                {
                    case LogEvent.Debug:
                        DebugCount++;
                        break;

                    case LogEvent.Info:
                        InfoCount++;
                        break;

                    case LogEvent.Warning:
                        WarningCount++;
                        break;

                    case LogEvent.Error:
                        ErrorCount++;
                        break;

                    case LogEvent.Status:
                        StatusCount++;
                        break;
                }
            }
        public void Save_WriteBananaToFile_Test()
        {
            LogData logData = new LogData();
            logData.Category = "Fruta";
            logData.LogType = "Erro";
            logData.ObjectToLog = "Banana";
            logData.MethodName = "Save_WriteBanana_To_File";

            ConfigurationUtilityMock mock = new ConfigurationUtilityMock();
            mock.LogPath = "c:/BananaDePijama";
            mock.LogType = "File";

            IocFactory.Register(
                    Component.For<IConfigurationUtility>()
                    .Instance(mock),

                    Component.For<ILog>()
                    .ImplementedBy<FileLogProcessor>()
                    .Interceptor<LogInterceptor>()
                );

            ILog log = IocFactory.Resolve<ILog>();

            log.Save(logData);
        }
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The additional data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, System.DateTime time)
        {
            base.Write(log, message, logEvent, extraData, time);

            switch (logEvent)
            {
                case LogEvent.Debug:
                    _eventSource.Debug(message);
                    break;

                case LogEvent.Info:
                    _eventSource.Info(message);
                    break;

                case LogEvent.Warning:
                    _eventSource.Warning(message);
                    break;

                case LogEvent.Error:
                    _eventSource.Error(message);
                    break;

                default:
                    throw new ArgumentOutOfRangeException("logEvent");
            }
        }
 public void Post(LogData data)
 {
     data.User = GetCurrentSession().User;
     var log = GetLog(data);
     var @event = CreateEvent(data, log);
     SaveMeasurements(data.User, log, @event, data.Measurements);
     SaveTags(log, data.User, @event, data.Tags);
 }
Exemple #5
0
        /// <summary>
        /// Writes the specified LogData to NLog.
        /// </summary>
        /// <param name="logData">The log data.</param>
        public static void WriteLog(LogData logData)
        {
            var logEvent = logData.ToLogEvent();
            var name = logData.Logger ?? typeof(NLogWriter).FullName;

            var logger = global::NLog.LogManager.GetLogger(name);
            logger.Log(logEvent);
        }
        protected override bool ShouldIgnoreLogMessage(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            if (message.StartsWith("Uninitialized"))
            {
                return true;
            }

            return false;
        }
 protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
 {
     _textBox.Dispatcher.Invoke(() =>
     {
         _textBox.AppendText(string.Format("{0} {1}", time.ToString("HH:mm:ss.fff"), message));
         _textBox.AppendText(Environment.NewLine);
         _textBox.ScrollToEnd();
     });
 }
Exemple #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LogMessageEventArgs" /> class.
 /// </summary>
 /// <param name="log">The log.</param>
 /// <param name="message">The message.</param>
 /// <param name="extraData">The extra data.</param>
 /// <param name="logData">The log data.</param>
 /// <param name="logEvent">The log event.</param>
 /// <param name="time">The time.</param>
 public LogMessageEventArgs(ILog log, string message, object extraData, LogData logData, LogEvent logEvent, DateTime time)
 {
     Log = log;
     Time = time;
     Message = message;
     ExtraData = extraData;
     LogEvent = logEvent;
     LogData = logData;
 }
        public void Save(LogData logData)
        {
            EventLog log = new EventLog();

            log.Source = "Troco$erto";

            string logMessage = Serializer.JsonSerialize(logData.ObjectToLog);

            log.WriteEntry(logMessage, EventLogEntryType.Information);
        }
 private Log GetLog(LogData data)
 {
     var log = LogRepository.Name(data.Name);
     if (log == null)
     {
         log = new Log { Id = Guid.NewGuid(), Name = data.Name, UserId = data.User.Id };
         LogRepository.Create(log);
     }
     return log;
 }
 public Reverse(Stage stage, Game1 game, ContentManager content)
 {
     this.game = game;
     this.stage = stage;
     this.content = content;
     nowlogdata = new LogData();
     reverseLog = new List<LogData>();
     score_prev = 0;
     tasSound = content.Load<SoundEffect>("Audio\\SE\\TAS");
 }
Exemple #12
0
		/// <summary>
		/// メッセージを記録する
		/// </summary>
		/// <param name="message"></param>
		public void LogMessage(string message)
		{
			if (_saveLog) {
				LogData data = new LogData(LogData.LogType.Message, message);
				Loglist.Add(data);

				DebugWrite(message);

			}

		}
        private static void WriteLog(LogData logData, Action<object> logAction, Action<object, Exception> errorAction)
        {
            bool isFormatted = logData.Parameters != null && logData.Parameters.Length > 0;

            string message = isFormatted
                ? string.Format(logData.FormatProvider, logData.Message, logData.Parameters)
                : logData.Message;


            if (logData.Exception == null)
                logAction(message);
            else
                errorAction(message, logData.Exception);
        }
    public static void Log( LogData playClipData )
    {
        playClipData.time = Time.time;

        if ( logData.Count >= 1024 )
        {
            logData.RemoveLast();
        }

        logData.AddFirst( playClipData );

        _OnLogUpdated();

    }
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The additional data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            lock (_lock)
            {
                _logBatch.Add(new LogBatchEntry(log, message, logEvent, extraData, logData, time));

                if (_logBatch.Count >= MaximumBatchCount)
                {
                    // TODO: remove pragma in 5.0.0
#pragma warning disable 4014
                    Flush();
#pragma warning restore 4014
                }
            }
        }
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            _textBox.Dispatcher.Invoke(() =>
            {
                var finalMessage = string.Format("{0} {1}", time.ToString("hh:mm:ss.fff"), message);

                var paragraph = new Paragraph(new Run(finalMessage));

                FixParagraphSpacing(paragraph);

                paragraph.Foreground = ColorSets[logEvent];
                _textBox.Document.Blocks.Add(paragraph);
                _textBox.ScrollToEnd();
            });
        }
		public LogDump(LogData data)
		{
			if (data != null)
			{
				this.StationName = data.SolutionName;
				this.NumberOfBuildsFailed = data.NumberOfBuildsFailed;
				this.NumberOfBuildsSucceeded = data.NumberOfBuildsSucceeded;
				this.NumberOfProjectsBuilt = data.NumberOfProjectsBuilt;
				this.NumberOfTestsFailed = data.NumberOfTestsFailed;
				this.NumberOfTestsIgnored = data.NumberOfTestsIgnored;
				this.NumberOfTestsPassed = data.NumberOfTestsPassed;
				this.NumberOfTestsRan = data.NumberOfTestsRan;
				this.StationName = data.StationName;
				this.TimeStamp = data.TimeStamp;
				this.UserName = data.UserName;
			}
		}
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The extra data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            base.Write(log, message, logEvent, extraData, time);

            var logEntry = new LogEntry(log, message, logEvent, extraData, null, time);

            AddLogEvent(_lastLogEntries, logEntry, MaximumNumberOfLogEntries);

            switch (logEvent)
            {
                case LogEvent.Warning:
                    AddLogEvent(_lastWarningLogEntries, logEntry, MaximumNumberOfWarningLogEntries);
                    break;

                case LogEvent.Error:
                    AddLogEvent(_lastErrorLogEntries, logEntry, MaximumNumberOfErrorLogEntries);
                    break;
            }
        }
 protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
 {
     if (string.Equals(log.Tag, "Orc.CommandLine.CommandLineParser"))
     {
         return;
     }
     if (logEvent == LogEvent.Error)
     {
         Console.ForegroundColor = ConsoleColor.Red;
     }
     else if (logEvent == LogEvent.Warning)
     {
         Console.ForegroundColor = ConsoleColor.Yellow;
     }
     else
     {
         Console.ForegroundColor = ConsoleColor.White;
     }
     Console.WriteLine("{0}", message);
 }
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The additional data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            string consoleMessage = FormatLogEvent(log, message, logEvent, extraData, time);

#if NET
            var oldConsoleBackgroundColor = Console.BackgroundColor;
            var oldConsoleForegroundColor = Console.ForegroundColor;

            UpdateConsoleColors(logEvent);
#endif

#if NETFX_CORE || PCL
            System.Diagnostics.Debug.WriteLine(consoleMessage);
#else
            Console.WriteLine(consoleMessage);
#endif

#if NET
            Console.BackgroundColor = oldConsoleBackgroundColor;
            Console.ForegroundColor = oldConsoleForegroundColor;
#endif
        }
Exemple #21
0
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The additional data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, System.DateTime time)
        {
            base.Write(log, message, logEvent, extraData, time);

            switch (logEvent)
            {
                case LogEvent.Debug:
                    _eventSource.Debug(message);
                    break;

                case LogEvent.Info:
                    _eventSource.Info(message);
                    break;

                case LogEvent.Warning:
                    _eventSource.Warning(message);
                    break;

                case LogEvent.Error:
                    _eventSource.Error(message);
                    break;
            }
        }
        /// <summary>
        /// Writes the specified LogData to log4net.
        /// </summary>
        /// <param name="logData">The log data.</param>
        public static void WriteLog(LogData logData)
        {
            var name = logData.Logger ?? typeof(Log4NetWriter).FullName;

            var logger = LogManager.GetLogger(name);

            switch (logData.LogLevel)
            {
                case LogLevel.Info:
                    if (logger.IsInfoEnabled)
                        WriteLog(logData, logger.Info, logger.Info);

                    break;
                case LogLevel.Warn:
                    if (logger.IsWarnEnabled)
                        WriteLog(logData, logger.Warn, logger.Warn);

                    break;
                case LogLevel.Error:
                    if (logger.IsErrorEnabled)
                        WriteLog(logData, logger.Error, logger.Error);

                    break;
                case LogLevel.Fatal:
                    if (logger.IsFatalEnabled)
                        WriteLog(logData, logger.Fatal, logger.Fatal);

                    break;
                default:
                    if (logger.IsDebugEnabled)
                        WriteLog(logData, logger.Debug, logger.Debug);

                    break;
            }

        }
        public string Log(LogData data)
        {
            // Get the appropriate logger.
            ILog logger = _log;
            if (IsNonBlank(data.Logger))
            {
                logger = LogManager.GetLogger(data.Logger);
            }

            // Construct the log message.
            StringBuilder sb = new StringBuilder("ClientLog: ").Append(data.Message);
            if (IsNonBlank(data.TriedTo))
            {
                sb.Append(Environment.NewLine).Append(" - While attempting to ").Append(data.TriedTo);
            }
            var level = (IsNonBlank(data.Level) ? data.Level.ToUpper() : "INFO");
            if (level != "DEBUG" && level != "INFO")
            {
                // Add user agent for more severe messages
                var userAgent = ControllerContext.HttpContext.Request.UserAgent;
                sb.Append(Environment.NewLine).Append(" - UserAgent: ").Append(userAgent);
            }

            // Now log it at the appropriate level.
            var message = sb.ToString();
            switch (level)
            {
                case "DEBUG": logger.Debug(message); break;
                case "INFO" : logger.Info(message); break;
                case "WARN" : logger.Warn(message); break;
                case "ERROR": logger.Error(message); break;
                default:
                case "FATAL": logger.Fatal(message); break;
            }
            return "OK";
        }
        public void Save(LogData logData)
        {
            IConfigurationUtility configurationUtility = IocFactory.Resolve<IConfigurationUtility>();

            string fileName = DateTime.Now.ToString("yyyy-MM-dd") + ".log";
            string filePath = configurationUtility.LogPath;

            if (Directory.Exists(filePath) == false) {
                Directory.CreateDirectory(filePath);
            }

            string log = string.Format("[{0}] {1} | {2} | {3} | {4} \r\n",
                DateTime.Now, logData.LogType, logData.MethodName, logData.Category, Serializer.JsonSerialize(logData.ObjectToLog));

            string fullPath = Path.Combine(filePath, fileName);

            FileStream logFile = File.Open(fullPath, FileMode.Append, FileAccess.Write);

            byte[] logByteArray = log.GetBytes();

            logFile.Write(logByteArray, 0, logByteArray.Length);

            logFile.Close();
        }
Exemple #25
0
        /// <summary>
        /// Opdaterer F*g/Kursus forløb hørende til ét uddannelsesforløb specificeret ved id, UserName og
        /// Password.
        /// </summary>
        /// <remarks>
        /// UserName og Password skal være gemt i Web API'ets database for at være gyldige.
        /// </remarks>
        /// <param name="json_Object">json_Objekt er et objekt i jSon format. Det skal indeholde
        /// data til funktionen med følgende felter specificeret : User_Education_Time_CollectionID,
        /// CourseID.
        /// Optionalt kan følgende felter også angives : WhichCharacterScaleID, CharacterValueCourse og
        /// AbsencePercentageCourse
        /// </param>
        /// <param name="id">Integer der specificerer id på Bruger-F*g/Kursus samling.</param>
        /// <param name="Password">Password for nuværende bruger.</param>
        /// <param name="UserName">Brugernavn for nuværende bruger.</param>
        /// <returns>
        /// UpdateOperationOk (værdien 1) hvis F*g/Kursus forløb er gemt ok.
        /// Eller en retur kode med en værdi mindre end 0, hvis noget gik galt.
        /// Se en oversigt over return koder i ReturnCodesAndStrings eller klik
        /// her : <see cref="ReturnCodeAndReturnString"/>
        /// </returns>
        // PUT api/<controller>/5
        public int Put(int id, dynamic json_Object, string UserName, string Password)
        {
            User_Education_Character_Course_Collection User_Education_Character_Course_Collection_Object =
                new User_Education_Character_Course_Collection();
            WhichCharacterScale WhichCharacterScale_Object = new WhichCharacterScale();
            int NumberOfCourseCharactersSaved;

            int UserID = 0;

            UserID = UserInfo.FindUserInDatabase(UserName, Password);

            if (Const.UserNotFound < UserID)
            {
                if ((null == json_Object.User_Education_Time_CollectionID) ||
                    (null == json_Object.CourseID))
                {
                    return(Const.WrongjSonObjectParameters);
                }
                else
                {
                    User_Education_Character_Course_Collection_Object = db.User_Education_Character_Course_Collections.Find(id);

                    if (null != User_Education_Character_Course_Collection_Object)
                    {
                        if (User_Education_Character_Course_Collection_Object.User_Education_Time_Collection.UserInfoID != UserID)
                        {
                            return(Const.ObjectNotSavedByCurrentUserOriginally);
                        }

                        User_Education_Character_Course_Collection_Object.User_Education_Time_CollectionID =
                            json_Object.User_Education_Time_CollectionID;
                        User_Education_Character_Course_Collection_Object.CourseID =
                            json_Object.CourseID;

                        if (null != json_Object.WhichCharacterScaleID)
                        {
                            WhichCharacterScale_Object = db.WhichCharacterScales.Find((int)json_Object.WhichCharacterScaleID);
                            if (null == WhichCharacterScale_Object)
                            {
                                return(Const.WrongCharacterScaleProvided);
                            }
                            User_Education_Character_Course_Collection_Object.WhichCharacterScaleID = json_Object.WhichCharacterScaleID;
                        }
                        else
                        {
                            User_Education_Character_Course_Collection_Object.WhichCharacterScaleID = null;
                        }

                        if (null != json_Object.CharacterValueCourse)
                        {
                            if (null == json_Object.WhichCharacterScaleID)
                            {
                                return(Const.CharacterProvidedButNoCharacterScaleProvided);
                            }
                            else
                            {
                                int WhichCharacterScale  = WhichCharacterScale_Object.WhichCharacterScaleID;
                                int CharacterValueCourse = json_Object.CharacterValueCourse;

                                switch (WhichCharacterScale)
                                {
                                case (int)WhichCharacterScaleENUM.Character_7_ENUM:
                                    Character7Scale Character7Scale_Object = db.Character7Scales.FirstOrDefault(c => c.Character7ScaleValue == CharacterValueCourse);
                                    if (null == Character7Scale_Object)
                                    {
                                        return(Const.WrongCharacterProvided);
                                    }
                                    break;

                                case (int)WhichCharacterScaleENUM.Character_13_ENUM:
                                    Character13Scale Character13Scale_Object = db.Character13Scales.FirstOrDefault(c => c.Character13ScaleValue == CharacterValueCourse);
                                    if (null == Character13Scale_Object)
                                    {
                                        return(Const.WrongCharacterProvided);
                                    }
                                    break;
                                }
                            }
                            User_Education_Character_Course_Collection_Object.CharacterValueCourse = json_Object.CharacterValueCourse;
                        }
                        else
                        {
                            if (null != json_Object.WhichCharacterScaleID)
                            {
                                return(Const.NoCharacterProvidedButCharacterScaleProvided);
                            }
                            User_Education_Character_Course_Collection_Object.CharacterValueCourse = null;
                        }

                        if (null != json_Object.AbsencePercentageCourse)
                        {
                            User_Education_Character_Course_Collection_Object.AbsencePercentageCourse = json_Object.AbsencePercentageCourse;
                        }
                        else
                        {
                            User_Education_Character_Course_Collection_Object.AbsencePercentageCourse = null;
                        }

                        NumberOfCourseCharactersSaved = db.SaveChanges();
                        if (1 == NumberOfCourseCharactersSaved)
                        {
                            LogData.LogDataToDatabase(UserName, DataBaseOperation.UpdateData_Enum, ModelDatabaseNumber.User_Education_Character_Course_Collection_Enum);
                            return(Const.UpdateOperationOk);
                        }
                        else
                        {
                            return(Const.UpdateOperationFailed);
                        }
                    }
                    else
                    {
                        return(Const.ObjectNotFound);
                    }
                }
            }
            else
            {
                return(Const.UserNotFound);
            }
        }
Exemple #26
0
 internal StatusRef(status value, LogData logData)
 {
     x = value; this.logData = logData;
 }
        private void PerformLog(LogEntry logEntry)
        {
            TelemetryClient          telemetryClient         = null;
            IUserInformationProvider userInformationProvider = null;
            bool isPerRequestTelemetryClient = false;

            if (logEntry.LogData.Any(ld => ld.Key == nameof(IRequestInformationProvider.RequestUri)))
            {
                IOwinContext owinContext = OwinContext.Value;

                IDependencyResolver resolver = owinContext.GetDependencyResolver();

                telemetryClient = resolver.Resolve <TelemetryClient>();

                userInformationProvider = resolver.Resolve <IUserInformationProvider>();

                isPerRequestTelemetryClient = true;
            }

            List <KeyVal> keyValues = logEntry.LogData.Select(ld =>
            {
                string k = ld.Key;

                if (k == nameof(IRequestInformationProvider.HttpMethod) ||
                    k == nameof(IRequestInformationProvider.RequestUri) ||
                    k == nameof(IRequestInformationProvider.UserAgent) ||
                    k == "UserId" ||
                    k == "ResponseStatusCode" ||
                    k == nameof(IRequestInformationProvider.ClientIp) ||
                    ld.Value == null)
                {
                    return(null);
                }

                string v = null;

                if (ld.Value is string valueAsStr)
                {
                    v = valueAsStr;
                }

                if (k == "ClientLogs" || k == "OperationArgs")
                {
                    v = Formatter.Serialize(ld.Value);
                }
                else
                {
                    v = ld.Value.ToString();
                }

                return(new KeyVal {
                    Key = k, Value = v
                });
            })
                                      .Where(d => d != null)
                                      .ToList();

            try
            {
                keyValues.Add(new KeyVal {
                    Key = nameof(LogEntry.AppEnvironmentName), Value = logEntry.AppEnvironmentName
                });

                if (logEntry.AppServerProcessId.HasValue)
                {
                    keyValues.Add(new KeyVal {
                        Key = nameof(LogEntry.AppServerProcessId), Value = logEntry.AppServerProcessId.ToString()
                    });
                }

                keyValues.Add(new KeyVal {
                    Key = nameof(LogEntry.AppServerAppDomainName), Value = logEntry.AppServerAppDomainName
                });

                keyValues.Add(new KeyVal {
                    Key = nameof(LogEntry.AppServerOSVersion), Value = logEntry.AppServerOSVersion
                });

                if (logEntry.AppServerDateTime.HasValue)
                {
                    keyValues.Add(new KeyVal {
                        Key = nameof(LogEntry.AppServerDateTime), Value = logEntry.AppServerDateTime.ToString()
                    });
                }

                keyValues.Add(new KeyVal {
                    Key = nameof(LogEntry.AppServerName), Value = logEntry.AppServerName
                });

                if (logEntry.AppWasInDebugMode.HasValue)
                {
                    keyValues.Add(new KeyVal {
                        Key = nameof(LogEntry.AppWasInDebugMode), Value = logEntry.AppWasInDebugMode.ToString()
                    });
                }

                keyValues.Add(new KeyVal {
                    Key = nameof(LogEntry.AppServerUserAccountName), Value = logEntry.AppServerUserAccountName
                });
                keyValues.Add(new KeyVal {
                    Key = nameof(LogEntry.AppVersion), Value = logEntry.AppVersion
                });
                keyValues.Add(new KeyVal {
                    Key = nameof(LogEntry.ApplicationName), Value = logEntry.ApplicationName
                });
                keyValues.Add(new KeyVal {
                    Key = nameof(LogEntry.Severity), Value = logEntry.Severity
                });
                keyValues.Add(new KeyVal {
                    Key = nameof(LogEntry.Message), Value = logEntry.Message
                });

                if (logEntry.Id.HasValue)
                {
                    keyValues.Add(new KeyVal {
                        Key = nameof(LogEntry.Id), Value = logEntry.Id.ToString()
                    });
                }

                if (logEntry.AppServerThreadId.HasValue)
                {
                    keyValues.Add(new KeyVal {
                        Key = nameof(LogEntry.AppServerThreadId), Value = logEntry.AppServerThreadId.ToString()
                    });
                }

                if (isPerRequestTelemetryClient == true)
                {
                    if (userInformationProvider.IsAuthenticated())
                    {
                        telemetryClient.Context.User.AccountId = telemetryClient.Context.User.AuthenticatedUserId = userInformationProvider.GetCurrentUserId();
                    }

                    LogData userAgent = logEntry.LogData.FirstOrDefault(ld => ld.Key == nameof(IRequestInformationProvider.UserAgent));
                    if (userAgent != null)
                    {
                        telemetryClient.Context.User.UserAgent = (string)userAgent.Value;
                    }

                    foreach (KeyVal keyVal in keyValues.OrderBy(kv => kv.Key))
                    {
                        if (!telemetryClient.Context.Properties.ContainsKey(keyVal.Key))
                        {
                            telemetryClient.Context.Properties.Add(keyVal.Key, keyVal.Value);
                        }
                    }
                }
                else
                {
                    telemetryClient = new TelemetryClient();

                    Dictionary <string, string> customData = new Dictionary <string, string>();

                    foreach (KeyVal keyVal in keyValues.OrderBy(kv => kv.Key))
                    {
                        if (!customData.ContainsKey(keyVal.Key))
                        {
                            customData.Add(keyVal.Key, keyVal.Value);
                        }
                    }

                    Exception ex = null;

                    try
                    {
                        customData.TryGetValue("ExceptionTypeAssemblyQualifiedName", out string exceptionTypeAssemblyQualifiedName);

                        if (!string.IsNullOrEmpty(exceptionTypeAssemblyQualifiedName))
                        {
                            ex = (Exception)Activator.CreateInstance(Type.GetType(exceptionTypeAssemblyQualifiedName), args: new object[] { logEntry.Message });
                        }
                    }
                    catch { }

                    if (ex == null)
                    {
                        switch (logEntry.Severity)
                        {
                        case "Information":
                            ex = new InformationException(logEntry.Message);
                            break;

                        case "Warning":
                            ex = new WarningException(logEntry.Message);
                            break;

                        case "Error":
                            ex = new ErrorException(logEntry.Message);
                            break;

                        case "Fatal":
                            ex = new FatalException(logEntry.Message);
                            break;

                        default:
                            ex = new Exception(logEntry.Message);
                            break;
                        }
                    }

                    telemetryClient.TrackException(ex, customData);
                }
            }
            finally
            {
                telemetryClient.Flush();
            }
        }
Exemple #28
0
 public void Log(LogData logData)
 {
     throw new NotImplementedException();
 }
Exemple #29
0
 public DpsReportUpload(LogData logData) : base(logData)
 {
 }
Exemple #30
0
 public async Task <int> Log(LogData log, CancellationToken token)
 => await logDataProcessor.LogAsync(log, token);
Exemple #31
0
        private static void WriteLog(LogData logData, Action <Exception, string, object[]> writer)
        {
            string message = FormatMessage(logData);

            writer(logData.Exception, message, logData.Parameters);
        }
Exemple #32
0
 /// <summary>
 /// Raises the <see cref="LogMessage" /> event.
 /// </summary>
 /// <param name="log">The log.</param>
 /// <param name="message">The message.</param>
 /// <param name="logEvent">The log event.</param>
 /// <param name="extraData">The extra data.</param>
 /// <param name="logData">The log data.</param>
 /// <param name="time">The time.</param>
 protected void RaiseLogMessage(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
 {
     var handler = LogMessage;
     if (handler != null)
     {
         handler(this, new LogMessageEventArgs(log, message, extraData, logData, logEvent, time));
     }
 }
Exemple #33
0
 /// <summary>
 /// Called when any message is written to the log.
 /// </summary>
 /// <param name="log">The log.</param>
 /// <param name="message">The message.</param>
 /// <param name="logEvent">The log event.</param>
 /// <param name="extraData">The additional data.</param>
 /// <param name="logData">The log data.</param>
 /// <param name="time">The time.</param>
 protected virtual void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
 {
     // Empty by default
 }
Exemple #34
0
        /// <summary>
        /// Called when a <see cref="LogEvent.Status" /> message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="extraData">The additional data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The ti me.</param>
        void ILogListener.Status(ILog log, string message, object extraData, LogData logData, DateTime time)
        {
            if (IgnoreCatelLogging && log.IsCatelLogging)
            {
                return;
            }

            if (ShouldIgnoreLogMessage(log, message, LogEvent.Status, extraData, logData, time))
            {
                return;
            }

            Status(log, message, extraData, logData, time);
        }
Exemple #35
0
            protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
            {
                if (log.TargetType != typeof(TestLogListener))
                {
                    return;
                }

                switch (logEvent)
                {
                case LogEvent.Debug:
                    DebugCount++;
                    break;

                case LogEvent.Info:
                    InfoCount++;
                    break;

                case LogEvent.Warning:
                    WarningCount++;
                    break;

                case LogEvent.Error:
                    ErrorCount++;
                    break;
                }
            }
        /// <inheritdoc/>
        public override void Parse(LogData testResultsLine)
        {
            if (testResultsLine == null || testResultsLine.Message == null)
            {
                logger.Error("MochaTestResultParser : Parse : Input line was null.");
                return;
            }

            try
            {
                this.stateContext.CurrentLineNumber = testResultsLine.LineNumber;

                // State model for the mocha parser that defines the Regexs to match against in each state
                // Each state re-orders the Regexs based on the frequency of expected matches
                switch (this.currentState)
                {
                // This state primarily looks for test results
                // and transitions to the next one after a line of summary is encountered
                case MochaParserStates.ExpectingTestResults:

                    if (AttemptMatch(this.ExpectingTestResults, testResultsLine))
                    {
                        return;
                    }
                    break;

                // This state primarily looks for test run summary
                // If failed tests were found to be present transitions to the next one to look for stack traces
                // else goes back to the first state after publishing the run
                case MochaParserStates.ExpectingTestRunSummary:

                    if (AttemptMatch(this.ExpectingTestRunSummary, testResultsLine))
                    {
                        return;
                    }
                    break;

                // This state primarily looks for stack traces
                // If any other match occurs before all the expected stack traces are found it
                // fires telemetry for unexpected behavior but moves on to the next test run
                case MochaParserStates.ExpectingStackTraces:

                    if (AttemptMatch(this.ExpectingStackTraces, testResultsLine))
                    {
                        return;
                    }
                    break;
                }

                // This is a mechanism to enforce matches that have to occur within
                // a specific number of lines after encountering the previous match
                // one obvious usage is for successive summary lines containing passed,
                // pending and failed test summary
                if (this.stateContext.LinesWithinWhichMatchIsExpected == 1)
                {
                    this.logger.Info($"MochaTestResultParser : Parse : Was expecting {this.stateContext.NextExpectedMatch} before line {testResultsLine.LineNumber}, but no matches occurred.");
                    AttemptPublishAndResetParser();
                    return;
                }

                // If no match occurred and a match was expected in a positive number of lines, decrement the counter
                // A value of zero or lesser indicates not expecting a match
                if (this.stateContext.LinesWithinWhichMatchIsExpected > 1)
                {
                    this.stateContext.LinesWithinWhichMatchIsExpected--;
                    return;
                }
            }
            catch (Exception e)
            {
                this.logger.Error($"MochaTestResultParser : Parse : Failed with exception {e}.");

                // This might start taking a lot of space if each and every parse operation starts throwing
                // But if that happens then there's a lot more stuff broken.
                telemetry.AddToCumulativeTelemetry(MochaTelemetryConstants.EventArea, "Exceptions", new List <string> {
                    e.Message
                });

                // Rethrowing this so that the plugin is aware that the parser is erroring out
                // Ideally this never should happen
                throw;
            }
        }
Exemple #37
0
 public string getAreano(LogData Log)
 {
     return(Contestno.GetAreano(Log));
 }
Exemple #38
0
        private void PerformLog(LogEntry logEntry)
        {
            if (DiagnosticContext == null || SerilogLogger == null)
            {
                throw new InvalidOperationException($"Configure asp.net core & serilog using https://github.com/serilog/serilog-aspnetcore");
            }

            bool isRequestLogEntry = false;

            if (logEntry.LogData.Any(ld => ld.Key == nameof(IRequestInformationProvider.DisplayUrl)) && HttpContextAccessor.HttpContext != null)
            {
                isRequestLogEntry = true;

                HttpContext httpContext = HttpContextAccessor.HttpContext;

                IUserInformationProvider userInformationProvider = httpContext.RequestServices.GetRequiredService <IUserInformationProvider>();
            }

            var keyValues = logEntry.LogData.Select(ld =>
            {
                string k = ld.Key;

                if (k == nameof(IRequestInformationProvider.HttpMethod) ||
                    k == nameof(IRequestInformationProvider.DisplayUrl) ||
                    k == "ResponseStatusCode" ||
                    ld.Value == null)
                {
                    return(Key: null, Value: null);  // Already being logged by serilog!
                }
                string v = null;

                if (ld.Value is string valueAsStr)
                {
                    v = valueAsStr;
                }

                if (k == "ClientLogs" || k == "OperationArgs")
                {
                    v = Formatter.Serialize(ld.Value);
                }
                else
                {
                    v = ld.Value.ToString();
                }

                return(Key: k, Value: v);
            })
                            .Where(d => d.Key != null)
                            .ToList();

            keyValues.Add((Key: nameof(LogEntry.MemoryUsage), Value: logEntry.MemoryUsage.ToString()));

            if (logEntry.AppServerDateTime.HasValue)
            {
                keyValues.Add((Key: nameof(LogEntry.AppServerDateTime), Value: logEntry.AppServerDateTime.ToString()));
            }

            keyValues.Add((Key: nameof(LogEntry.Severity), Value: logEntry.Severity));
            keyValues.Add((Key: nameof(LogEntry.Message), Value: logEntry.Message));

            if (logEntry.Id.HasValue)
            {
                keyValues.Add((Key: nameof(LogEntry.Id), Value: logEntry.Id.ToString()));
            }

            if (logEntry.AppServerThreadId.HasValue)
            {
                keyValues.Add((Key: nameof(LogEntry.AppServerThreadId), Value: logEntry.AppServerThreadId.ToString()));
            }

            foreach (var(Key, Value) in keyValues.OrderBy(kv => kv.Key))
            {
                DiagnosticContext.Set(Key, Value);
            }

            if (isRequestLogEntry == true)
            {
                LogData userAgent = logEntry.LogData.FirstOrDefault(ld => ld.Key == nameof(IRequestInformationProvider.UserAgent));

                if (userAgent != null)
                {
                    DiagnosticContext.Set("UserAgent", userAgent.Value);
                }
            }
            else
            {
                Exception ex = null;

                try
                {
                    var(Key, Value) = keyValues.ExtendedSingleOrDefault("Finding ExceptionTypeAssemblyQualifiedName...", kv => kv.Key == "ExceptionTypeAssemblyQualifiedName");

                    if (!string.IsNullOrEmpty(Value))
                    {
                        ex = (Exception)Activator.CreateInstance(Type.GetType(Value) ?? throw new InvalidOperationException($"{Value} could not be found"), args: new object[] { logEntry.Message });
                    }
                }
                catch { }

                LogEventLevel level = logEntry.Severity switch
                {
                    "Information" => LogEventLevel.Information,
                    "Warning" => LogEventLevel.Warning,
                    "Error" => LogEventLevel.Error,
                    "Fatal" => LogEventLevel.Fatal,
                    _ => LogEventLevel.Debug,
                };

                SerilogLogger.Write(level, ex?.Message ?? logEntry.Message);
            }
        }
    /// <summary>
    /// Tells the OS to open the users desired editor as specified by the Unity editor preferences.
    /// ONLY SUPPORTS VISUAL STUDIO AND VS CODE
    /// </summary>
    /// <param name="log">Message the user clicked on and is trying to open the source of</param>
    void OpenEditor(LogData log)
    {
        var path = log.FilePath;

        if (OS_Toggles[0])
        {
            string editor = EditorPrefs.GetString("kScriptsDefaultApp_h2657262712");
            if (editor.Contains("devenv"))
            {
                var proc = Process.GetProcesses();
                for (int i = 0; i < proc.Length; i++)
                {
                    if (proc[i].ProcessName.Contains("devenv"))
                    {
                        Process.Start("devenv", "/Edit \"" + path);
                        return;
                    }
                }
                var rootDir = new DirectoryInfo(Directory.GetCurrentDirectory());
                var sln     = rootDir.GetFiles("*.sln");
                Process.Start("devenv", "/UseEnv \"" + sln[0].FullName);
            }
            else
            {
                string fixedPath = FixPathSpaces(path);
                string slnPath   = FixPathSpaces(Directory.GetCurrentDirectory());
                Process.Start("code", "-g " + fixedPath + ":" + log.LineNumber);
                if (Process.GetProcessesByName("code") == null)
                {
                    Process.Start("code", "--add " + slnPath);
                }
            }
        }
        else if (OS_Toggles[1])
        {
#if UNITY_EDITOR_OSX
            string           fixedPathOSX = FixPathSpaces(path);
            ProcessStartInfo s            = new ProcessStartInfo()
            {
                FileName               = "/Applications/Visual Studio Code.app/Contents/MacOS/Electron",
                UseShellExecute        = false,
                RedirectStandardError  = true,
                RedirectStandardInput  = true,
                RedirectStandardOutput = true,
                CreateNoWindow         = true,
                Arguments              = "-g " + fixedPathOSX + ":" + log.LineNumber
            };

            string slnPathOSX = FixPathSpaces(Directory.GetCurrentDirectory());
            s.Arguments += " --add " + slnPathOSX;
            Process.Start(s);
            return;
#endif

            string fixedPathLinux = FixPathSpaces(path);
            string slnPathLinux   = FixPathSpaces(Directory.GetCurrentDirectory());
            Process.Start("code", "-g " + fixedPathLinux + ":" + log.LineNumber);
            if (Process.GetProcessesByName("code") == null)
            {
                Process.Start("code", "--add " + slnPathLinux);
            }
        }
    }
Exemple #40
0
    void DrawConsoleWindow(int id)
    {
        Color defaultContentColor = GUI.contentColor;

        GUIStyle buttonStyle = new GUIStyle("button");

        buttonStyle.alignment   = TextAnchor.MiddleLeft;
        buttonStyle.fixedHeight = 30;
        buttonStyle.margin      = new RectOffset(0, 0, 0, 0);

        GUI.contentColor = Color.white;

        GUILayout.BeginVertical();

        GUILayout.BeginHorizontal();
        GUILayout.Label("Logs");

        GUILayout.Space(20);

        _filter = (LogFilter)GUILayout.SelectionGrid((int)_filter, Enum.GetNames(typeof(LogFilter)), Enum.GetValues(typeof(LogFilter)).Length);

        GUILayout.EndHorizontal();

        List <LogData> dataList = new List <LogData>(_logQueue.ToArray()).FindAll(m => _filter == LogFilter.All || m.type.GetFilter() == _filter);

        int listItemHeight      = (int)buttonStyle.fixedHeight;         // TODO Use Margin.
        int listScrollBottomPos = (listItemHeight * dataList.Count) - (int)_listScrollRect.height;

        Vector2 scrollPos = new Vector2(_listScrollPosition.x, _autoListScroll ? listScrollBottomPos :_listScrollPosition.y);

        _listScrollPosition = GUILayout.BeginScrollView(scrollPos, false, true, GUILayout.MaxHeight(_scrollHeight));

        if (listScrollBottomPos <= _listScrollPosition.y)
        {
            _autoListScroll = true;
        }

        GUILayout.Box(GUIContent.none, GUIStyle.none, GUILayout.ExpandWidth(true), GUILayout.Height(0));
        Rect listRect = GUILayoutUtility.GetLastRect();

        GUI.contentColor = defaultContentColor;

        foreach (LogData data in dataList)
        {
            GUI.contentColor = data.type.GetFilter().GetContentColor();

            if (GUILayout.Button(data.condition, buttonStyle, GUILayout.Width(listRect.width), GUILayout.ExpandWidth(true)))
            {
                _selectedLogData = data;
            }

            GUI.contentColor = defaultContentColor;
        }

        GUILayout.EndScrollView();

        Rect listLastRect = GUILayoutUtility.GetLastRect();

        if (!(listLastRect.x == 0 && listLastRect.y == 0 && listLastRect.width == 1 && listLastRect.height == 1))
        {
            _listScrollRect = GUILayoutUtility.GetLastRect();
        }

        GUILayout.Space(10);
        GUILayout.Label("Detail");
        _detailScrollPosition = GUILayout.BeginScrollView(_detailScrollPosition, false, true, GUILayout.MaxHeight(_scrollHeight));
        if (_selectedLogData != null)
        {
            GUI.contentColor = _selectedLogData.type.GetFilter().GetContentColor();

            GUILayout.Label(_selectedLogData.condition + "\n" + _selectedLogData.stackTrace);

            GUI.contentColor = defaultContentColor;
        }

        GUILayout.EndScrollView();

        _detailScrollRect = GUILayoutUtility.GetLastRect();


        GUILayout.Space(10);

        // Export Menu
        GUILayout.BeginHorizontal();

        GUI.contentColor = defaultContentColor;

        if (_selectedLogData == null)
        {
            GUI.contentColor = Color.gray;
            GUILayout.Button("Log Export (Select a Log!)");
        }
        else
        {
            if (GUILayout.Button("Log Export"))
            {
                ExportLog(_selectedLogData);
            }
        }

        GUI.contentColor = defaultContentColor;

        GUILayout.EndHorizontal();

        // Clear & Close
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Clear"))
        {
            _selectedLogData = null;
            _logQueue        = new Queue <LogData>();
        }

        if (GUILayout.Button("Close"))
        {
            isShow = false;
        }
        GUILayout.EndHorizontal();

        GUILayout.EndVertical();
        GUI.DragWindow(new Rect(0, 0, _consoleRect.width, 30));

        GUI.contentColor = defaultContentColor;
    }
Exemple #41
0
        private Rollbar.Classes.JsonRollbarRootObject CreateDataToSend(RollbarSettings settings, LogData LogMessage)
        {
            var jdatabody = new Rollbar.Classes.Body()
            {
                message = new Classes.Message {
                    body = LogMessage.Exception.ToString()
                }
            };



            var jdataperson = new Rollbar.Classes.Person()
            {
                email = SettingsInDecisions.ContactEmailAddress, id = SettingsInDecisions.ContactEmailAddress, username = SettingsInDecisions.ContactEmailAddress
            };

            var jdataserver = new Rollbar.Classes.Server()
            {
                code_version = DecisionsVersion.CODE_VERSION.ToString(), cpu = GetCPUManufacturer(), host = GetComputerName(), ram = GetPhysicalMemory()
            };

            var jdatarequest = new Rollbar.Classes.Request()
            {
                user_ip = GetIPAddress()
            };

            var jdatatosend = new Rollbar.Classes.Data()
            {
                body         = jdatabody,
                code_version = DecisionsVersion.CODE_VERSION.ToString(),
                environment  = SettingsInDecisions.environment,
                level        = LogMessage.Level.ToString(),
                person       = jdataperson,
                request      = jdatarequest,
                server       = jdataserver
            };


            return(new Classes.JsonRollbarRootObject()
            {
                access_token = settings.PostServerItemID, data = jdatatosend
            });
        }
Exemple #42
0
        public void Should_Be_Able_to_Add_data_With_Key()
        {
            LogData data = new LogData(new StreamWriter(new MemoryStream()));

            data.AddData("1", Encoding.UTF8.GetBytes("Hello World"));
        }
Exemple #43
0
            protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
            {
                switch (logEvent)
                {
                case LogEvent.Error:
                    _log.LogError(message);
                    break;

                case LogEvent.Warning:
                    _log.LogWarning(message);
                    break;

                case LogEvent.Info:
                    _log.LogMessage(MessageImportance.Normal, message);
                    break;

                case LogEvent.Debug:
                    _log.LogMessage(MessageImportance.Low, message);
                    break;

                default:
                    break;
                }
            }
 public LogzLogData(LogData source, string basePortalUrlName, string hostName)
 {
     this.source            = source;
     this.basePortalUrlName = basePortalUrlName;
     this.hostName          = hostName;
 }
Exemple #45
0
 protected QueuedUpload(LogData logData)
 {
     LogData = logData ?? throw new ArgumentNullException(nameof(logData));
 }
 protected override bool ShouldIgnoreLogMessage(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
 {
     return(message.StartsWith("Uninitialized"));
 }
        public void GetWeatheMasterData(int i, string dataset, string url)
        {
            var        jsonData  = APIResponse.Content.ReadAsStringAsync().Result;
            IManageLog manageLog = new ManageLog();

            // TODO deserialize json into generic collection
            List <dynamic> data = new List <dynamic>();

            var finaldata = (JObject)JsonConvert.DeserializeObject(jsonData);

            switch (i)
            {
            case 1:
                var weatherDatasetTypesResult = finaldata["results"].Select(item => new
                                                                            WeatherDatasetTypes
                {
                    uid          = item["uid"].ToString(),
                    mindate      = Convert.ToDateTime(item["mindate"]),
                    maxdate      = Convert.ToDateTime(item["maxdate"]),
                    name         = item["name"].ToString(),
                    datacoverage = item["datacoverage"].ToString(),
                    id           = item["id"].ToString(),
                }).ToList();

                using (var db = new DataLakeEntities())
                {
                    foreach (var item in weatherDatasetTypesResult)
                    {
                        db.uspInsertWeatherDatasetTypesData(item.uid, item.mindate, item.maxdate, item.name, item.datacoverage, item.id);
                    }

                    LogData logdata = new LogData();
                    logdata.DatasetName = dataset;
                    logdata.DatasetURL  = url;

                    manageLog.AddLog(logdata, true, "Ok");
                }
                Console.WriteLine("Datset Updated");
                Console.ReadLine();

                break;

            case 2:
                var weatherDataCategoriesResult = finaldata["results"].Select(item => new
                                                                              WeatherDataCategories
                {
                    id   = item["id"].ToString(),
                    name = item["name"].ToString(),
                }).ToList();

                using (var db = new DataLakeEntities())
                {
                    foreach (var item in weatherDataCategoriesResult)
                    {
                        db.uspInsertWeatherDataCategoriesData(item.id, item.name);
                    }

                    LogData logdata = new LogData();
                    logdata.DatasetName = dataset;
                    logdata.DatasetURL  = url;

                    manageLog.AddLog(logdata, true, "Ok");
                }
                break;

            case 3:
                var weatherDataTypesResult = finaldata["results"].Select(item => new
                                                                         WeatherDataTypes
                {
                    mindate      = Convert.ToDateTime(item["mindate"]),
                    maxdate      = Convert.ToDateTime(item["maxdate"]),
                    name         = item["name"].ToString(),
                    datacoverage = Convert.ToDecimal(item["datacoverage"]),
                    id           = item["id"].ToString(),
                }).ToList();

                using (var db = new DataLakeEntities())
                {
                    foreach (var item in weatherDataTypesResult)
                    {
                        db.uspInsertWeatherDataTypesData(item.mindate, item.maxdate, item.name, item.datacoverage, item.id);
                    }

                    LogData logdata = new LogData();
                    logdata.DatasetName = dataset;
                    logdata.DatasetURL  = url;

                    manageLog.AddLog(logdata, true, "Ok");
                }
                break;

            case 4:
                var weatherLocationCategoriesResult = finaldata["results"].Select(item => new
                                                                                  WeatherLocationCategories
                {
                    id   = item["id"].ToString(),
                    name = item["name"].ToString(),
                }).ToList();

                using (var db = new DataLakeEntities())
                {
                    foreach (var item in weatherLocationCategoriesResult)
                    {
                        db.uspInsertWeatherLocationCategoriesData(item.id, item.name);
                    }

                    LogData logdata = new LogData();
                    logdata.DatasetName = dataset;
                    logdata.DatasetURL  = url;

                    manageLog.AddLog(logdata, true, "Ok");
                }
                break;

            case 5:
                var weatherLocationsResult = finaldata["results"].Select(item => new
                                                                         WeatherLocations
                {
                    mindate      = Convert.ToDateTime(item["mindate"]),
                    maxdate      = Convert.ToDateTime(item["maxdate"]),
                    name         = item["name"].ToString(),
                    datacoverage = Convert.ToDecimal(item["datacoverage"]),
                    id           = item["id"].ToString(),
                }).ToList();
                using (var db = new DataLakeEntities())
                {
                    foreach (var item in weatherLocationsResult)
                    {
                        db.uspInsertWeatherLocationsData(item.mindate, item.maxdate, item.name, item.datacoverage, item.id);
                    }

                    LogData logdata = new LogData();
                    logdata.DatasetName = dataset;
                    logdata.DatasetURL  = url;

                    manageLog.AddLog(logdata, true, "Ok");
                }

                break;

            case 6:
                var weatherStationsResult = finaldata["results"].Select(item => new
                                                                        WeatherStations
                {
                    elevation     = item["elevation"] != null ? Convert.ToDecimal(item["elevation"]) : 0,
                    mindate       = Convert.ToDateTime(item["mindate"]),
                    maxdate       = Convert.ToDateTime(item["maxdate"]),
                    latitude      = Convert.ToDecimal(item["latitude"]),
                    name          = item["name"].ToString(),
                    datacoverage  = Convert.ToDecimal(item["datacoverage"]),
                    id            = item["id"].ToString(),
                    elevationUnit = Convert.ToString(item["elevationUnit"]),
                    longitude     = Convert.ToDecimal(item["longitude"]),
                }).ToList();

                using (var db = new DataLakeEntities())
                {
                    foreach (var item in weatherStationsResult)
                    {
                        db.uspInsertWeatherStationsData(item.elevation, item.mindate, item.maxdate, item.latitude, item.name, item.datacoverage, item.id, item.elevationUnit, item.longitude);
                    }

                    LogData logdata = new LogData();
                    logdata.DatasetName = dataset;
                    logdata.DatasetURL  = url;

                    manageLog.AddLog(logdata, true, "Ok");
                }
                break;
            }



            //dynamic d = JObject.Parse(jsonData);
            //  WeatherDatasets account = JsonConvert.DeserializeObject<WeatherDatasets>(jsonData);

            //dynamic obj = finaldata["results"];
            // return obj;
            //data =  (JObject)JsonConvert.DeserializeObject <dynamic>(jsonData);
            // Iterating each element in generic collection
            // Pass each entry to queue or topic
        }
        public void CheckExpectedResult()
        {
            this.treeName = "tVTestCases";
            #region Variable Declarations
            WinComboBox uICBConversationsComboBox = this.UIONVIFClientTestToolWindow.UICBConversationsWindow.UICBConversationsComboBox;
            WinEdit     uITBOutputEdit            = this.UIONVIFClientTestToolWindow.UITBOutputWindow.UITBOutputEdit;
            WinTree     uITVTestCasesTree         = this.UIONVIFClientTestToolWindow.UITVTestCasesWindow.UITVTestCasesTree;
            WinTabPage  uITestDetailsTabPage      = this.UIONVIFClientTestToolWindow.UITCLogWindow.UITestDetailsTabPage;
            WinList     uILVStepsList             = this.UIONVIFClientTestToolWindow.UILVStepsWindow.UILVStepsList;
            #endregion

            if (test.expectedResults != null)
            {
                // Щелкните "Test Details" вкладка
                uITestDetailsTabPage.WaitForControlReady();
                Mouse.Click(uITestDetailsTabPage);

                foreach (DeviceExpectedResult device in test.expectedResults)
                {
                    this.mac = device.deviceMAC;
                    foreach (ExpectedResult result in device.expectedResults)
                    {
                        foreach (string s in result.expectedResult.Keys)
                        {
                            mTree0         = result.parentNode0;
                            mTree1         = result.parentNode1;
                            mTree2         = s;
                            this.mTreeItem = this.UIONVIFClientTestToolWindow.UITVTestCasesWindow.UIProfileSTestCasesTreeItem.UIMediaProfileConfigurTreeItem.UIMEDIAPROFILECONFIGURTreeItem1;

                            bool currentResultNotStarted = false;
                            // Щелкните по элементу дерева
                            this.mTreeItem.WaitForControlExist();
                            Mouse.Click(this.mTreeItem);

                            LogData logData = new LogData();
                            if (uICBConversationsComboBox.Items.Count != 0)
                            {
                                // выбрать элемент в списке устройств
                                uICBConversationsComboBox.SelectedItem = this.macAndDevice["deviceName"] + " - " + this.macAndDevice[this.mac];
                                foreach (WinListItem item in uILVStepsList.Items)
                                {
                                    TestStep testStep = new TestStep();
                                    testStep.results = item.AccessibleDescription;
                                    logData.testSteps.Add(testStep);
                                }
                            }
                            else
                            {
                                currentResultNotStarted = true;
                            }

                            if (currentResultNotStarted)
                            {
                                logData.currentResult = s + " NOT STARTED";
                            }
                            else
                            {
                                if (logData.testSteps.Count == 0)
                                {
                                    logData.currentResult = s + " NOT DETECTED";
                                }
                                else
                                {
                                    if (logData.testSteps.FindAll(C => C.results.Contains("NOT DETECTED")).Count != 0)
                                    {
                                        logData.currentResult = s + " NOT DETECTED";
                                    }
                                    else
                                    {
                                        if (logData.testSteps.FindAll(C => C.results.Contains("FAILED")).Count != 0)
                                        {
                                            logData.currentResult = s + " FAILED";
                                        }
                                        else
                                        {
                                            logData.currentResult = s + " PASSED";
                                        }
                                    }
                                }
                            }

                            logData.expectedResult = s + " " + result.expectedResult[s];
                            if (logData.currentResult == logData.expectedResult)
                            {
                                logData.result = "PASSED";
                            }
                            else
                            {
                                logData.result = "FAILED";
                            }

                            logData.testPath  = this.testPath;
                            logData.deviceMAC = this.mac;
                            this.logData.Add(logData);
                        }
                    }
                }
            }
        }
        public void Save()
        {
            List <JHSemesterScoreRecord> addSemsScore      = new List <JHSemesterScoreRecord>();
            List <JHSemesterScoreRecord> updateSemsScore   = new List <JHSemesterScoreRecord>();
            SubjectScoreLogFormater      subjLogFormater   = new SubjectScoreLogFormater();
            DomainScoreLogFormater       domainLogFormater = new DomainScoreLogFormater();

            foreach (StudentScore student in Students)
            {
                #region 決定要新增還是更新。
                JHSemesterScoreRecord JHScore = GetJHSemesterScore(student.Id, student.SemestersScore[SemesterData.Empty]);
                SCSemsScore           SCScore = student.SemestersScore[SemesterData.Empty];

                if (string.IsNullOrEmpty(JHScore.ID))
                {
                    addSemsScore.Add(JHScore);
                }
                else
                {
                    updateSemsScore.Add(JHScore);
                }
                #endregion

                #region 產生科目資料。
                JHScore.Subjects.Clear();
                foreach (string strSubject in SCScore.Subject)
                {
                    SemesterSubjectScore objSCSubject = SCScore.Subject[strSubject];
                    SubjectScore         objJHSubject = GetJHSubjectScore(strSubject, objSCSubject);
                    LogData subjLog = new LogData(strSubject);
                    subjLog.Formater = subjLogFormater;

                    decimal?score       = objSCSubject.Value.HasValue ? (decimal?)(double)objSCSubject.Value : null;
                    decimal?scoreOrigin = objSCSubject.ScoreOrigin.HasValue ? (decimal?)(double)objSCSubject.ScoreOrigin : null;
                    decimal?scoreMakeup = objSCSubject.ScoreMakeup.HasValue ? (decimal?)(double)objSCSubject.ScoreMakeup : null;

                    //記錄 Log
                    subjLog.Add(new LogData("成績", objJHSubject.Score + "", score.ToString()));
                    subjLog.Add(new LogData("原始成績", objJHSubject.ScoreOrigin + "", scoreOrigin.ToString()));
                    subjLog.Add(new LogData("補考成績", objJHSubject.ScoreMakeup + "", scoreMakeup.ToString()));

                    subjLog.Add(new LogData("權重", objJHSubject.Credit + "", objSCSubject.Weight + ""));
                    subjLog.Add(new LogData("節數", objJHSubject.Period + "", objSCSubject.Period + ""));
                    if (Program.Mode == ModuleMode.KaoHsiung)
                    {
                        subjLog.Add(new LogData("努力程度", objJHSubject.Effort + "", objSCSubject.Effort + ""));
                    }
                    subjLog.Add(new LogData("文字評量", objJHSubject.Text + "", objSCSubject.Text));
                    subjLog.Add(new LogData("領域", objJHSubject.Domain + "", objSCSubject.Domain));
                    SCScore.Subject.Log.Add(subjLog);

                    objJHSubject.Score       = score;
                    objJHSubject.ScoreOrigin = scoreOrigin;
                    objJHSubject.ScoreMakeup = scoreMakeup;

                    objJHSubject.Credit = objSCSubject.Weight;
                    objJHSubject.Period = objSCSubject.Period;
                    objJHSubject.Effort = objSCSubject.Effort;
                    objJHSubject.Text   = objSCSubject.Text;
                    objJHSubject.Domain = objSCSubject.Domain;

                    JHScore.Subjects.Add(strSubject, objJHSubject);
                }

                //排序科目名稱。
                Dictionary <string, SubjectScore> orderSubject = new Dictionary <string, SubjectScore>(JHScore.Subjects);
                JHScore.Subjects.Clear();
                foreach (string subjName in Util.SortSubjectDomain(orderSubject.Keys))
                {
                    JHScore.Subjects.Add(subjName, orderSubject[subjName]);
                }
                #endregion

                #region 產生領域資料。
                JHScore.Domains.Clear();
                foreach (string strDomain in SCScore.Domain)
                {
                    //彈性課程不記錄領域領域。
                    if (Util.IsVariableDomain(strDomain))
                    {
                        continue;
                    }

                    SemesterDomainScore objSCDomain = SCScore.Domain[strDomain];
                    DomainScore         objJHDomain = GetJHDomainScore(strDomain, objSCDomain);
                    LogData             domainLog   = new LogData(strDomain);
                    domainLog.Formater = subjLogFormater;

                    decimal?score       = objSCDomain.Value.HasValue ? (decimal?)(double)objSCDomain.Value : null;
                    decimal?scoreOrigin = objSCDomain.ScoreOrigin.HasValue ? (decimal?)(double)objSCDomain.ScoreOrigin : null;
                    decimal?scoreMakeup = objSCDomain.ScoreMakeup.HasValue ? (decimal?)(double)objSCDomain.ScoreMakeup : null;

                    //記錄 Log
                    domainLog.Add(new LogData("成績", objJHDomain.Score + "", score + ""));
                    domainLog.Add(new LogData("原始成績", objJHDomain.ScoreOrigin + "", scoreOrigin + ""));
                    domainLog.Add(new LogData("補考成績", objJHDomain.ScoreMakeup + "", scoreMakeup + ""));
                    domainLog.Add(new LogData("權重", objJHDomain.Credit + "", objSCDomain.Weight + ""));
                    domainLog.Add(new LogData("節數", objJHDomain.Period + "", objSCDomain.Period + ""));
                    if (Program.Mode == ModuleMode.KaoHsiung)
                    {
                        domainLog.Add(new LogData("努力程度", objJHDomain.Effort + "", objSCDomain.Effort + ""));
                    }
                    domainLog.Add(new LogData("文字評量", objJHDomain.Text + "", objSCDomain.Text));
                    SCScore.Domain.Log.Add(domainLog);

                    objJHDomain.Score       = score;
                    objJHDomain.ScoreOrigin = scoreOrigin;
                    objJHDomain.ScoreMakeup = scoreMakeup;
                    objJHDomain.Credit      = objSCDomain.Weight;
                    objJHDomain.Period      = objSCDomain.Period;
                    objJHDomain.Effort      = objSCDomain.Effort;
                    objJHDomain.Text        = objSCDomain.Text;

                    JHScore.Domains.Add(strDomain, objJHDomain);
                }

                //記錄 Log
                SCScore.LearningLog.Formater          = domainLogFormater;
                SCScore.LearningLog.OriginValue       = JHScore.CourseLearnScore + "";
                SCScore.LearningLog.NewValue          = SCScore.LearnDomainScore + "";
                SCScore.CourseLog.Formater            = domainLogFormater;
                SCScore.CourseLog.OriginValue         = JHScore.CourseLearnScore + "";
                SCScore.CourseLog.NewValue            = SCScore.CourseLearnScore + "";
                SCScore.LearningOriginLog.Formater    = domainLogFormater;
                SCScore.LearningOriginLog.OriginValue = JHScore.CourseLearnScoreOrigin + "";
                SCScore.LearningOriginLog.NewValue    = SCScore.LearnDomainScoreOrigin + "";
                SCScore.CourseOriginLog.Formater      = domainLogFormater;
                SCScore.CourseOriginLog.OriginValue   = JHScore.CourseLearnScoreOrigin + "";
                SCScore.CourseOriginLog.NewValue      = SCScore.CourseLearnScoreOrigin + "";

                JHScore.LearnDomainScore       = SCScore.LearnDomainScore;
                JHScore.CourseLearnScore       = SCScore.CourseLearnScore;
                JHScore.LearnDomainScoreOrigin = SCScore.LearnDomainScoreOrigin;
                JHScore.CourseLearnScoreOrigin = SCScore.CourseLearnScoreOrigin;

                //排序領域名稱。
                Dictionary <string, DomainScore> orderDomain = new Dictionary <string, DomainScore>(JHScore.Domains);
                JHScore.Domains.Clear();
                foreach (string domainName in Util.SortSubjectDomain(orderDomain.Keys))
                {
                    JHScore.Domains.Add(domainName, orderDomain[domainName]);
                }
                #endregion
            }

            #region 新增科目成績
            FunctionSpliter <JHSemesterScoreRecord, JHSemesterScoreRecord> addSpliter =
                new FunctionSpliter <JHSemesterScoreRecord, JHSemesterScoreRecord>(500, 5);
            addSpliter.Function = delegate(List <JHSemesterScoreRecord> part)
            {
                // 加入檢查當科目與領域成績筆數0不新增
                List <JHSemesterScoreRecord> insertPart = new List <JHSemesterScoreRecord>();

                foreach (JHSemesterScoreRecord rec in part)
                {
                    // 沒有任何領域或科目成績
                    if (rec.Domains.Count == 0 && rec.Subjects.Count == 0)
                    {
                        continue;
                    }

                    insertPart.Add(rec);
                }

                if (insertPart.Count > 0)
                {
                    JHSemesterScore.Insert(insertPart);
                }

                return(new List <JHSemesterScoreRecord>());
            };
            addSpliter.ProgressChange = delegate(int progress)
            {
                Reporter.Feedback("新增科目成績...", Util.CalculatePercentage(addSemsScore.Count, progress));
            };
            addSpliter.Execute(addSemsScore);
            #endregion

            #region 更新科目成績
            FunctionSpliter <JHSemesterScoreRecord, JHSemesterScoreRecord> updateSpliter =
                new FunctionSpliter <JHSemesterScoreRecord, JHSemesterScoreRecord>(500, 5);
            updateSpliter.Function = delegate(List <JHSemesterScoreRecord> part)
            {
                JHSemesterScore.Update(part);
                return(new List <JHSemesterScoreRecord>());
            };
            updateSpliter.ProgressChange = delegate(int progress)
            {
                Reporter.Feedback("更新科目成績...", Util.CalculatePercentage(updateSemsScore.Count, progress));
            };
            updateSpliter.Execute(updateSemsScore);
            #endregion
        }
Exemple #50
0
 internal Gate(Self owner, LogData logData)
 {
     this.owner = owner; this.logData = logData;
 }
 public Task <DpsReportResponse> UploadLogAsync(LogData log, string userToken = null)
 {
     return(UploadLogAsync(log, CancellationToken.None, userToken));
 }
Exemple #52
0
 public void AddUserData(LogData log)
 {
     firebase.Child("logs/").PostAsync <LogData>(log);
 }
Exemple #53
0
 public void WriteLog(LogData logData)
 {
     Console.WriteLine(logData);
 }
Exemple #54
0
 public void Awake()
 {
     LogData.instance = this;
 }
Exemple #55
0
        /// <summary>
        /// Returns whether the log message should be ignored
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The extra data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        /// <returns><c>true</c> if the message should be ignored, <c>false</c> otherwise.</returns>
        protected virtual bool ShouldIgnoreLogMessage(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            // Should be removed in v6
            if (ShouldIgnoreLogMessage(log, message, logEvent, extraData, time))
            {
                return true;
            }

            return false;
        }
Exemple #56
0
 public async Task UpdateLogDataAsync(LogData logData, bool sync = false)
 {
     await _itemManagerWrapper.SaveTaskAsync(logData, sync);
 }
Exemple #57
0
 /// <summary>
 /// Formats the log event to a message which can be written to a log persistence storage.
 /// </summary>
 /// <param name="log">The log.</param>
 /// <param name="message">The message.</param>
 /// <param name="logEvent">The log event.</param>
 /// <param name="extraData">The extra data.</param>
 /// <param name="logData">The log data.</param>
 /// <param name="time">The time.</param>
 /// <returns>The formatted log event.</returns>
 protected virtual string FormatLogEvent(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
 {
     var logMessage = string.Format("{0} => [{1}] [{2}] [{3}] {4}", time.ToString(_timeFormat), LogEventStrings[logEvent], log.TargetType.FullName, ThreadHelper.GetCurrentThreadId(), message);
     return logMessage;
 }
Exemple #58
0
 private void AddLog(LogData log)
 {
     Work.Log.Add(log);
 }
Exemple #59
0
 /// <summary>
 /// Called when a <see cref="LogEvent.Status" /> message is written to the log.
 /// </summary>
 /// <param name="log">The log.</param>
 /// <param name="message">The message.</param>
 /// <param name="extraData">The additional data.</param>
 /// <param name="logData">The log data.</param>
 /// <param name="time">The time.</param>
 protected virtual void Status(ILog log, string message, object extraData, LogData logData, DateTime time)
 {
     // Empty by default
 }
Exemple #60
0
        private void dgLog_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)
        {
            DataGrid     dg     = sender as DataGrid;
            Point        pt     = e.GetPosition(dg);
            DataGridCell dgcell = null;

            VisualTreeHelper.HitTest(dg, null, (result) => {
                DataGridCell cell = FindVisualParent <DataGridCell>(result.VisualHit);
                if (cell != null)
                {
                    dgcell = cell;
                    return(HitTestResultBehavior.Stop);
                }
                else
                {
                    return(HitTestResultBehavior.Continue);
                }
            }, new PointHitTestParameters(pt));

            if (dgcell == null)
            {
                return;
            }
            LogData     ld = dgcell.DataContext as LogData;
            ContextMenu cm = new ContextMenu();

            var datalist = new ObservableCollection <LogData>(dg.SelectedItems.Cast <LogData>().ToList <LogData>());

            if (!datalist.Contains(ld))
            {
                dg.SelectedItem = ld;
            }

            MenuItem mi = new MenuItem();

            mi.Click           += SearchByWeb;
            mi.Header           = "Webで検索(" + ld.Callsign + ")";
            mi.CommandParameter = Callsign.GetRemovedStroke(ld.Callsign);
            cm.Items.Add(mi);

            MenuItem miLogEdit = new MenuItem();

            miLogEdit.Click += EditLog;
            miLogEdit.Header = "ログ修正";

            MenuItem miLogSearch = new MenuItem();

            miLogSearch.Click += SearchLogEachly;
            miLogSearch.Header = "集計処理";

            if (!datalist.Contains(ld) || datalist.Count == 1)
            {
                cm.Items.Add(new Separator());
                miLogEdit.CommandParameter = new ObservableCollection <LogData>()
                {
                    ld
                };
                miLogSearch.CommandParameter = new ObservableCollection <LogData>()
                {
                    ld
                };
            }
            else
            {
                MenuItem miSearches = new MenuItem();
                miSearches.Click           += SearchByWeb;
                miSearches.Header           = "Webで検索(" + datalist.Count + "件)";
                miSearches.CommandParameter = datalist;
                cm.Items.Add(miSearches);

                cm.Items.Add(new Separator());

                miLogEdit.CommandParameter   = datalist;
                miLogSearch.CommandParameter = datalist;
            }
            cm.Items.Add(miLogEdit);
            cm.Items.Add(miLogSearch);

            ContextMenuService.SetContextMenu(dgcell, cm);
        }