Ejemplo n.º 1
0
        /// <summary>
        /// Performs a simple write to the event log.
        /// </summary>
        /// <param name="logRequest">The log request.</param>
        /// <returns>The response to the request.</returns>
        public LogResponse Log(LogRequest logRequest)
        {
            using (Profiler.Measure("CastActivityService.Log"))
            {
                var response = new LogResponse();

                try
                {
                    if (logRequest == null)
                    {
                        throw new ArgumentNullException("logRequest");
                    }

                    if (!CastService.GetIsCastConfigured())
                    {
                        throw new InvalidOperationException();
                    }

                    EventLog.Application.WriteInformation(logRequest.Message);
                    response.Time = DateTime.UtcNow;
                }
                catch (Exception e)
                {
                    response.IsError = true;
                    response.Error   = e.Message;
                }

                return(response);
            }
        }
        public IActionResult Write([FromBody] LogRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ErrorResponseFactory.Create(ModelState)));
            }

            var logFactory = _logFactoryStorage.GetLogFactoryOrDefault(request.AppName);

            if (logFactory == null)
            {
                _log.Warning(nameof(Write), $"Logger for appName {request.AppName} not found", context: request);

                return(BadRequest(ErrorResponse.Create($"Logger for  appName {request.AppName} not found")));
            }

            var logInformation = request.MapToLogInformationDto();

            if (request.LogLevel == LogLevelContract.Monitor)
            {
                var healthNotifier = _healthNotifierStorage.GetOrCreateHealthNotifier(request.AppName,
                                                                                      request.AppVersion,
                                                                                      request.EnvInfo,
                                                                                      logFactory);

                _healthNotificationWriter.SendNotification(healthNotifier, logInformation);

                return(Ok());
            }

            _logWriter.Write(logFactory, request.LogLevel.MapToMicrosoftLoglevel(), logInformation);

            return(Ok());
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Generates an analytics package and sends it to the Clearcut servers.
        /// </summary>
        /// <param name="analyticsHost">Address of host to send the analytics to.</param>
        /// <param name="logRequest">Data to send to the analytics server.</param>
        public void SendAnalytics(string analyticsHost, LogRequest logRequest)
        {
            // Save the time sending was last attempted.
            _lastUpdateTicks = DateTime.Now.Ticks;

            // Only send if analytics is enabled.
            if (EnableAnalytics == false)
            {
                return;
            }

            // Only allow one instance of the request at a time.
            if (_webRequest != null)
            {
                return;
            }

            // Send the data to the server.
            UnityWebRequest webRequest = new UnityWebRequest(analyticsHost);

            webRequest.method          = UnityWebRequest.kHttpVerbPOST;
            webRequest.uploadHandler   = new UploadHandlerRaw(logRequest.ToByteArray());
            webRequest.downloadHandler = new DownloadHandlerBuffer();
            webRequest.SetRequestHeader("Content-Type", "application/x-protobuf");
            webRequest.SendWebRequest();

            // The editor callback will follow through with this request.
            _webRequest = webRequest;
        }
Ejemplo n.º 4
0
        public void Query(out string pageHtml)
        {
            pageHtml = string.Empty;
            var request = new LogRequest();

            if (request.PageIndex == null || request.PageIndex <= 0)
            {
                request.PageIndex = 1;
            }
            if (request.PageSize == null || request.PageSize <= 0)
            {
                request.PageSize = 10;
            }
            if (this.LogType != Globals.All)
            {
                request.LogType = LogType;
            }

            request.ContentWith = Content;
            request.UserName    = UserName;
            var query = LogService.NewQuery(request);

            this.List = query.ModelList.ToList(this, x => new ListLog(x));
            if (query != null)
            {
                pageHtml = MvcPage.AjaxPager((int)request.PageIndex, (int)request.PageSize, query.TotalCount);
            }
        }
Ejemplo n.º 5
0
        // GET: LogRequests/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LogRequest logRequest = db.LogRequests.Find(id);

            if (logRequest == null)
            {
                return(HttpNotFound());
            }
            ViewBag.log_citizenId      = new SelectList(db.Citizens, "citizen_id", "citizen_national_id", logRequest.log_citizenId);
            ViewBag.log_requestId      = new SelectList(db.Requests, "request_id", "address", logRequest.log_requestId);
            ViewBag.log_request_typeId = new SelectList(db.TypeRequests, "typeReaquest_id", "typeReaquest_name", logRequest.log_request_typeId);


            if (Session["lang"] != null)
            {
                if (Session["lang"].ToString().Equals("ar-EG"))
                {
                    ViewBag.log_citizenId      = new SelectList(db.Citizens, "citizen_id", "citizen_national_id", logRequest.log_citizenId);
                    ViewBag.log_requestId      = new SelectList(db.Requests, "request_id", "address_arabic", logRequest.log_requestId);
                    ViewBag.log_request_typeId = new SelectList(db.TypeRequests, "typeReaquest_id", "typeReaquest_name_arabic", logRequest.log_request_typeId);
                }
            }

            return(View(logRequest));
        }
Ejemplo n.º 6
0
 private Task <NullResponse> SaveItem(LogRequest request, LogLevel level)
 {
     return(Task.Run(() =>
     {
         var item = new LogInfo()
         {
             Level = level,
             FileName = request.FileName,
             LineNumber = request.LineNumber,
             EventID = request.EventID,
             MethodEventID = request.MethodEventID,
             MethodID = request.TimeStamp,
             TimeStamp = request.TimeStamp,
             TraceID = request.TraceID,
             MethodName = request.MethodName,
             Message = request.Message,
         };
         if (request.CustomData != null)
         {
             var keys = request.CustomData.Keys.ToArray();
             for (int i = 0; i < keys.Length; i++)
             {
                 item.CustomData.Add(keys[i], request.CustomData[keys[i]]);
             }
         }
         _dbInstance.SaveItem(item);
         return new NullResponse();
     }));
 }
Ejemplo n.º 7
0
        public void Stop()
        {
            _tcpClient.Close();
            _stream.Close();

            LogRequest?.Invoke(this, new LogEventArgs("Client writer stopped."));
        }
Ejemplo n.º 8
0
        public ActionResult Create([Bind(Include = "log_request_id,log_requestId,log_citizenId,log_date,log_request_typeId")] LogRequest logRequest)
        {
            if (ModelState.IsValid)
            {
                db.LogRequests.Add(logRequest);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.log_citizenId      = new SelectList(db.Citizens, "citizen_id", "citizen_national_id", logRequest.log_citizenId);
            ViewBag.log_requestId      = new SelectList(db.Requests, "request_id", "address", logRequest.log_requestId);
            ViewBag.log_request_typeId = new SelectList(db.TypeRequests, "typeReaquest_id", "typeReaquest_name", logRequest.log_request_typeId);

            if (Session["lang"] != null)
            {
                if (Session["lang"].ToString().Equals("ar-EG"))
                {
                    ViewBag.log_citizenId      = new SelectList(db.Citizens, "citizen_id", "citizen_national_id", logRequest.log_citizenId);
                    ViewBag.log_requestId      = new SelectList(db.Requests, "request_id", "address_arabic", logRequest.log_requestId);
                    ViewBag.log_request_typeId = new SelectList(db.TypeRequests, "typeReaquest_id", "typeReaquest_name_arabic", logRequest.log_request_typeId);
                }
            }

            return(View(logRequest));
        }
Ejemplo n.º 9
0
        private static void LogToDB(LogRequest request)
        {
            Serilog.Log.Write(
                ConvertTo_SerilogLogLevel(request.Level),
                "{source}{timestamp}{level}{method}{machineName}{message}{exception}{parameters}{activityId}",

                request.Source,
                request.TimeStamp,
                request.Level,
                request.Method,
                request.MachineName,
                request.Message,
                request.Exception,
                ParametersSerializer.Serialize(request.Parameters),
                request.ActivityId);

            LogEventLevel ConvertTo_SerilogLogLevel(string logLevel)
            {
                switch (logLevel.ToLower())
                {
                case "info": return(LogEventLevel.Information);

                default:
                    throw new NotImplementedException($"Mapping for {logLevel} is not implemented.");
                }
            }
        }
Ejemplo n.º 10
0
        public async Task <bool> Execute(string pathIn, string pathOut)
        {
            try
            {
                var stringBuilder = new StringBuilder();

                // Processando arquivo de entrada.
                var retrived = await _transformerService.ExecuteProcess(pathIn);

                // Obtendo as estatísticas do arquivo de entrada.
                var fileLine = await _reportService.GetStats(retrived);

                stringBuilder.AppendLine(fileLine.GetDescription(_format));
                stringBuilder.AppendLine(fileLine.ToString(_format));

                var logRequest = new LogRequest
                {
                    Path    = pathOut,
                    Content = stringBuilder
                };

                //Salvando arquivo de saída.
                var logResponse = await _writer.SaveData(logRequest);

                return(logResponse.Result);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Ejemplo n.º 11
0
        public void Write(string title, string detail, LogEventType logEventType)
        {
            var request = new LogRequest();

            request.Guid = Guid.NewGuid();

            request.LogEvent                     = new LogEvent();
            request.LogEvent.Header              = new LogEventHeader();
            request.LogEvent.Header.AppId        = this.AppId;
            request.LogEvent.Header.LogEventType = logEventType;
            request.LogEvent.Header.Source       = this.SourceClassName;
            request.LogEvent.Header.CreateTime   = DateTime.Now;
            request.LogEvent.Body                = new LogEventBody();
            request.LogEvent.Body.Title          = title;
            request.LogEvent.Body.Detail         = detail;

            LogResponse response = null;

            try
            {
                response = ServiceClient.WriteLog(request);

                //Console.WriteLine(response.Message);
            }
            catch (FaultException <FaultData> fault)
            {
                //Console.WriteLine(fault.Message);

                //Console.WriteLine(fault.Detail.Message);
            }
            catch (Exception)
            {
                //Console.WriteLine(ex.ToString());
            }
        }
Ejemplo n.º 12
0
        private void ProcessRequest(HttpContext context)
        {
            IHeaderDictionary headers     = context.Request.Headers;
            string            urlReferrer = headers.SafeGet("Referer");
            string            url         = context.Request.GetDisplayUrl();

            LogRequest logRequestBase = new LogRequest()
            {
                UserAgent       = headers.SafeGet("User-Agent"),
                UserHostAddress = context.Connection.RemoteIpAddress.ToString(),
                Url             = urlReferrer ?? url,
                Headers         = headers.ConvertHeadersToDictionary()
            };

            string httpMethod = context.Request.Method;

            string json;

            using (StreamReader reader = new StreamReader(context.Request.Body, Encoding.UTF8))
            {
                json = reader.ReadToEnd();
            }

            LogResponse response = _loggingService.ProcessLogRequest(json, logRequestBase, httpMethod);

            ToHttpResponse(response, context.Response);
        }
Ejemplo n.º 13
0
        private async Task SaveLogs(List <ILogModel> logsToSave)
        {
            if (logsToSave != null && logsToSave.Count > 0)
            {
                string     url = $"{ApiHost}/api/log/bulk";
                LogRequest req = new LogRequest()
                {
                    Logs = logsToSave
                };

                try
                {
                    using (HttpClient client = new HttpClient())
                    {
                        string json     = JsonConvert.SerializeObject(req, Formatting.Indented);
                        var    response = await client.PostAsync(url, new StringContent(json, Encoding.UTF8, "application/json"));

                        if (response.StatusCode == HttpStatusCode.BadRequest)
                        {
                            //fallback method of writing logs to a file
                        }
                        else if (response.StatusCode == HttpStatusCode.Created)
                        {
                        }
                    }
                }
                catch (Exception ex)
                {
                    lock (_listLock)
                    {
                        _failures.Add(ex);
                    }
                }
            }
        }
Ejemplo n.º 14
0
        public LogResponse WriteLog(LogRequest request)
        {
            LogResponse response = new LogResponse();

            try
            {
                var message = new MessageBase <LogEvent>();

                message.Guid    = request.Guid;
                message.Content = request.LogEvent;

                msmq.Enqueue(message);

                response.Message = string.Format("Message {0} is in queue now.", request.Guid);
            }
            catch (Exception ex)
            {
                LocalLog.Error(ex.ToString());

                var fault = new FaultData {
                    Message = ex.ToString()
                };
                var reason = new FaultReason("WriteLog发生异常");

                throw new FaultException <FaultData>(fault, reason);
            }

            return(response);
        }
Ejemplo n.º 15
0
 public virtual void Log(LogRequest e)
 {
     if (LogItemReceived != null)
     {
         LogItemReceived(this, e);
     }
 }
Ejemplo n.º 16
0
        // PUBLIC METHODS
        #region public methods

        #region Start()
        public void Start(int port)
        {
            ThreadPool.QueueUserWorkItem(_ =>
            {
                _tcpClient = new TcpClient("127.0.0.1", port);
                LogRequest?.Invoke(this, new LogEventArgs("Connection was established...."));

                _stream         = _tcpClient.GetStream();
                Byte[] response = new Byte[_tcpClient.ReceiveBufferSize];

                while (_listening)
                {
                    int bytesRead = _stream.Read(response, 0, (int)_tcpClient.ReceiveBufferSize);

                    if (bytesRead > 0)
                    {
                        string returnData = Encoding.UTF8.GetString(response, 0, bytesRead);

                        LogRequest?.Invoke(this, new LogEventArgs("Server Response: " + returnData));

                        if (returnData == "q")
                        {
                            _listening = false;
                        }
                    }
                }

                _tcpClient.Close();
                _stream.Close();

                LogRequest?.Invoke(this, new LogEventArgs("Client reader stopped."));
            });
        }
Ejemplo n.º 17
0
        public async Task RequestLogging_Handler(SQSEvent Event)
        {
            try
            {
                Logger.Log("Enter");
                foreach (var MyMessage in Event.Records)
                {
                    LogRequest MyLoggingRequest = MyMessage.Body.DeserializeJSON <LogRequest>();
                    if (MyLoggingRequest.xTimestamp.IsNullOrWhiteSpace())
                    {
                        MyLoggingRequest.xTimestamp = DateTime.UtcNow.ToISO8601(MillisecondPrecision: 6);
                    }

                    string MyPath = $"{MyLoggingRequest.xService}/{MyLoggingRequest.xRefNum}/{MyLoggingRequest.xTimestamp}_{MyLoggingRequest.xDataLabel}{GetObjectExtension(MyLoggingRequest.xDataType)}";
                    await modIS3.S3_Upload_Async(modAWS.AWS_USWest2_DevCard(), MyS3Bucket, MyPath, MyLoggingRequest.xData.GetBytes());
                }
            }
            catch (Exception Ex)
            {
                Logger.LogException_LogOnly(Ex);
            }
            finally
            {
                Logger.Log("Exit");
            }
        }
Ejemplo n.º 18
0
        }// ProcessOutMessage()

        //
        //
        // *************************************************************
        // ****					Get New LogEvent()					****
        // *************************************************************
        /// <summary>
        /// When the outside thread wants to make a request, he calls this method which
        /// rather than creating  new event, simply takes the next one from off a stack of event args.
        /// The hub thread returns used eventArgs back to the stack after ProcessOutMessage().
        /// </summary>
        /// <param name="req"></param>
        /// <param name="message"></param>
        /// <param name="timeElapsed"></param>
        /// <returns></returns>
        protected LogEventArgs GetNewLogEvent(LogRequest req, string message, LogLevel level, TimeSpan timeElapsed)
        {
            // Get an empty eventArg object
            LogEventArgs eventArg;
            int          n;

            lock (m_EventStorageLock)
            {
                n = m_EventStorage.Count;
                if (n > 0)
                {
                    eventArg = m_EventStorage.Dequeue();
                }
                else
                {
                    eventArg = new LogEventArgs();
                }
            }
            // Load the eventArg object
            eventArg.Request = req;
            eventArg.Level   = level;
            eventArg.Message = message;
            eventArg.TimeElapsedFromStart = timeElapsed;
            eventArg.LastCount            = n;  // number of eventARgs in storage. For debugging.
            return(eventArg);
        }//
Ejemplo n.º 19
0
        public async Task Invoke(HttpContext context)
        {
            var requestBodyStream   = new MemoryStream();
            var originalRequestBody = context.Request.Body;

            await context.Request.Body.CopyToAsync(requestBodyStream);

            requestBodyStream.Seek(0, SeekOrigin.Begin);

            var url             = UriHelper.GetDisplayUrl(context.Request);
            var requestBodyText = new StreamReader(requestBodyStream).ReadToEnd();

            // Create new Request Model
            LogRequest r = new LogRequest();

            r.method  = context.Request.Method;
            r.body    = requestBodyText;
            r.url     = url;
            r.created = DateTime.UtcNow;

            dbcontext.Requests.Add(r);
            dbcontext.SaveChanges();

            //_logger.Log(LogLevel.Information, 1, $"REQUEST METHOD: {context.Request.Method}, REQUEST BODY: {requestBodyText}, REQUEST URL: {url}", null);

            requestBodyStream.Seek(0, SeekOrigin.Begin);
            context.Request.Body = requestBodyStream;

            await next(context);

            context.Request.Body = originalRequestBody;
        }
Ejemplo n.º 20
0
        private bool CreateFileInRelativePath(LogRequest logRequest)
        {
            var directory = new DirectoryInfo(logRequest.Path);

            if (!directory.Exists)
            {
                Directory.CreateDirectory(logRequest.Path);
            }

            FileInfo file;
            var      fileName    = "";
            var      versionFile = 0;
            var      files       = directory.GetFiles().Select(i => i.Name);

            do
            {
                fileName = string.Format(_fileName, ++versionFile);
                file     = new FileInfo(Path.Combine(logRequest.Path, fileName));
            } while (files.Any(i => i.Contains(fileName)));


            File.WriteAllText(file.ToString(), logRequest.Content.ToString());

            return(!file.Exists);
        }
Ejemplo n.º 21
0
        private async Task LoadLogAsync()
        {
            logLoadError = null;
            var logRequest = new LogRequest();
            var fromTime   = GetFromTime();

            if (!fromTime.HasValue)
            {
                return;
            }
            logRequest.FromTime = fromTime.Value.ToUnixTimeSeconds();
            logRequest.ToTime   = fromTime.Value.AddSeconds((int)(logRequestForm?.Model != null ? logRequestForm.Model.TimeInterval : LogTimeIntervals.FifteenMinutes)).ToUnixTimeSeconds();
            if (logRequestForm?.Model != null)
            {
                logRequest.Filter          = logRequestForm.Model.Filter;
                logRequest.QueryExceptions = logRequestForm.Model.QueryTypes.Contains(LogQueryTypes.Exceptions);
                logRequest.QueryTraces     = logRequestForm.Model.QueryTypes.Contains(LogQueryTypes.Traces);
                logRequest.QueryEvents     = logRequestForm.Model.QueryTypes.Contains(LogQueryTypes.Events);
                logRequest.QueryMetrics    = logRequestForm.Model.QueryTypes.Contains(LogQueryTypes.Metrics);
            }
            else
            {
                logRequest.QueryExceptions = true;
                logRequest.QueryEvents     = true;
            }

            logResponse = (await TrackService.GetTrackLogAsync(logRequest)).Map <LogResponseViewModel>();
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Handles logging of the message to Loupe
        /// </summary>
        /// <param name="logRequest">A request received from the agent to log information</param>
        public virtual void Log(LogRequest logRequest)
        {
            if (logRequest.LogMessages is null || logRequest.LogMessages.Count == 0)
            {
                return;
            }

            var detailsBlockBuilder = new LogMessageBlockBuilder(logRequest);
            var sourceProvider      = new JavaScriptSourceProvider();

            foreach (var logMessage in logRequest.LogMessages)
            {
                var jsException = CreateJavaScriptException(logMessage);

                var detailsBlock = detailsBlockBuilder.Build(logMessage);

                var messageSource = sourceProvider.ProcessMessage(logMessage);

                _log.Write(logMessage.Severity,
                           "Loupe",
                           messageSource,
                           logRequest.User,
                           jsException,
                           LogWriteMode.Queued,
                           detailsBlock,
                           logMessage.Category,
                           logMessage.Caption,
                           logMessage.Description,
                           logMessage.Parameters);
            }
        }
Ejemplo n.º 23
0
        public LogResponse ProcessLogRequest(string json, LogRequest logRequest, string httpMethod)
        {
            LogResponse response = new LogResponse();

            if ((httpMethod != WebRequestMethods.Http.Post) && (httpMethod != "OPTIONS"))
            {
                response.StatusCode = (int)HttpStatusCode.MethodNotAllowed;
                return(response);
            }

            response.StatusCode = (int)HttpStatusCode.OK;
            if (httpMethod == "OPTIONS")
            {
                response.Headers.Add("Allow", WebRequestMethods.Http.Post);
                return(response);
            }

            LogClientRequest clientRequest = JsonConvert.DeserializeObject <LogClientRequest>(json);
            LogData          logData       = new LogData()
            {
                LoggerName = clientRequest.LoggerName ?? LogCategories.GENERAL,
                LogLevel   = clientRequest.LogLevel,
                Message    = clientRequest.Message
            };

            Log(logData);
            return(response);
        }
Ejemplo n.º 24
0
        private Uri BuildReqEndpoint(LogRequest request)
        {
            //use empty string as project name if not set (expection will be thrown when do request)
            string project = request.IsSetProject() ? request.Project : String.Empty;

            return(new Uri(this._uriScheme + "://" + project + "." + this._hostName + ":" + this._port));
        }
Ejemplo n.º 25
0
        public ActionResult GetAllLogs()
        {
            var _draw          = Request.Form.GetValues("draw").FirstOrDefault();
            var _start         = Request.Form.GetValues("start").FirstOrDefault();
            var _length        = Request.Form.GetValues("length").FirstOrDefault();
            var _sortColumn    = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][name]").FirstOrDefault();
            var _sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();
            var _searchValue   = Request.Form.GetValues("search[value]").FirstOrDefault();

            int _pageSize = _length != null?Convert.ToInt32(_length) : 0;

            int _skip = _start != null?Convert.ToInt32(_start) : 0;

            var request = new LogRequest
            {
                Draw          = _draw,
                SearchValue   = _searchValue,
                SortColumn    = _sortColumn,
                SortColumnDir = _sortColumnDir,
                PageSize      = _pageSize,
                Skip          = _skip
            };

            var response = new LogHandler(_unitOfWork).GetListData(request);

            return(Json(new { data = response.Data, recordsFiltered = response.RecordsFiltered, recordsTotal = response.RecordsTotal, draw = response.Draw }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 26
0
        public void Constructor_InitializesProperties()
        {
            var request = new LogRequest(LogLevel.Minimal, message: "a");

            Assert.Equal(LogLevel.Minimal, request.LogLevel);
            Assert.Equal("a", request.Message);
        }
        /// <summary>
        /// Handles logging of the message to Loupe
        /// </summary>
        /// <param name="logRequest">A request received from the agent to log information</param>
        public virtual void Log(LogRequest logRequest)
        {
            var detailsBlockBuilder = new LogMessageBlockBuilder(logRequest);
            var sourceProvider      = new JavaScriptSourceProvider();

            foreach (var logMessage in logRequest.LogMessages)
            {
                var jsException = CreateJavaScriptException(logMessage);

                var detailsBlock = detailsBlockBuilder.Build(logMessage);

                var messageSource = sourceProvider.ProcessMessage(logMessage);

                Gibraltar.Agent.Log.Write(logMessage.Severity,
                                          "Loupe",
                                          messageSource,
                                          "",
                                          jsException,
                                          LogWriteMode.Queued,
                                          detailsBlock,
                                          logMessage.Category,
                                          logMessage.Caption,
                                          logMessage.Description,
                                          logMessage.Parameters);
            }
        }
Ejemplo n.º 28
0
        public IActionResult Log([FromBody] LogRequest request)
        {
            var machine = _dbContext.Machines.AsTracking().FirstOrDefault(m => m.Key.Equals(request.Key));

            if (machine == null)
            {
                machine = CreateMachine();
            }

            var set = new KeyPressSet()
            {
                MachineId  = machine.Id,
                KeyPresses = request.Keys.Select(k => new Domain.KeyPress()
                {
                    Code     = k.Code,
                    From     = k.From,
                    To       = k.To,
                    DataType = k.DataType,
                    Data     = k.Data
                }).ToList()
            };

            _dbContext.KeyPressSets.Add(set);
            _dbContext.SaveChanges();

            return(Ok(machine.Key));
        }
Ejemplo n.º 29
0
        public async Task <LogResponse> SaveData(LogRequest logRequest)
        {
            var result = false;

            try
            {
                Console.Write(logRequest.Content.ToString());

                var fileInfo = new FileInfo(logRequest.Path);

                if (fileInfo.Attributes == FileAttributes.Directory)
                {
                    result = CreateFileInRelativePath(logRequest);
                }
                else
                {
                    result = CreateFileInFullPath(logRequest);
                }

                return(await Task.FromResult(new LogResponse { Result = result }));
            }
            catch (Exception ex)
            {
                return(await Task.FromResult(new LogResponse { Result = result }));
            }
        }
Ejemplo n.º 30
0
        private async Task <LogResponse> LogMessageAsync(LogRequest request)
        {
            try
            {
                if (request == null)
                {
                    throw new ArgumentNullException(nameof(request));
                }

                switch (request.Level)
                {
                case LogLevel.Debug:
                {
                    await Log4netLogger.Instance.LogDebugAsync(request.Message);

                    break;
                }

                case LogLevel.Error:
                {
                    await Log4netLogger.Instance.LogErrorAsync(request.Message);

                    break;
                }

                case LogLevel.Fatal:
                {
                    await Log4netLogger.Instance.LogFatalAsync(request.Message);

                    break;
                }

                case LogLevel.Info:
                {
                    await Log4netLogger.Instance.LogInformationAsync(request.Message);

                    break;
                }

                case LogLevel.Warn:
                {
                    await Log4netLogger.Instance.LogWarningAsync(request.Message);

                    break;
                }

                default:
                {
                    return(new LogResponse(false, $"Log level {request.Level} is not supported!"));
                }
                }

                return(new LogResponse(true, "Message was logged succesfully!"));
            }
            catch (Exception ex)
            {
                return(new LogResponse(false, $"An error occurred trying to log debug message: {ex.ToExceptionMessage()}"));
            }
        }
Ejemplo n.º 31
0
        private static FinalLogData ProcessLogItem(LogRequestSingleMsg logItem, LogRequestBase logRequestBase,
            DateTime serverSideTimeUtc, JsnlogConfiguration jsnlogConfiguration)
        {
            string serversideLoggerNameOverride = jsnlogConfiguration.serverSideLogger;
            string messageFormat = jsnlogConfiguration.serverSideMessageFormat;
            string levelOverride = jsnlogConfiguration.serverSideLevel;
            string dateFormat = jsnlogConfiguration.dateFormat;

            try
            {
                LevelUtils.ValidateLevel(levelOverride);
            }
            catch (Exception e)
            {
                throw new PropertyException("levelOverride", e);
            }

            // ----------------

            string message = logItem.m;
            string logger = logItem.n;
            string level = logItem.l; // note that level as sent by the javascript is a number

            DateTime utcDate = DateTime.UtcNow;
            string timestampMs = logItem.t;
            try
            {
                double ms = double.Parse(timestampMs);
                utcDate = DateTime.SpecifyKind((new DateTime(1970, 1, 1)).AddMilliseconds(ms), DateTimeKind.Utc);
            }
            catch
            {
            }

            // ----------------

            string jsonmessage = "";
            if (messageFormat.Contains("%jsonmessage"))
            {
                jsonmessage = LogMessageHelpers.EnsureValidJson(message);
            }

            // ----------------

            var logRequest = new LogRequest(message, logger, level, utcDate, jsonmessage, logRequestBase);
            var loggingEventArgs = new LoggingEventArgs(logRequest) 
            {
                Cancel = false,
                ServerSideMessageFormat = messageFormat
            };

            // ----------------

            if (string.IsNullOrWhiteSpace(logger)) { logger = Constants.RootLoggerNameServerSide; }
            loggingEventArgs.FinalLogger = serversideLoggerNameOverride ?? logger;

            string consolidatedLevel = levelOverride ?? level;
            loggingEventArgs.FinalLevel = LevelUtils.ParseLevel(consolidatedLevel).Value;

            // ----------------

            loggingEventArgs.FinalMessage = messageFormat
                .Replace("%message", message)
                .Replace("%jsonmessage", jsonmessage)
                .Replace("%utcDateServer", serverSideTimeUtc.ToString(dateFormat))
                .Replace("%utcDate", utcDate.ToString(dateFormat))
                .Replace("%dateServer", Utils.UtcToLocalDateTime(serverSideTimeUtc).ToString(dateFormat))
                .Replace("%date", Utils.UtcToLocalDateTime(utcDate).ToString(dateFormat))
                .Replace("%level", level)
                .Replace("%newline", System.Environment.NewLine)
                .Replace("%userAgent", logRequestBase.UserAgent)
                .Replace("%userHostAddress", logRequestBase.UserHostAddress)
                .Replace("%requestId", logRequestBase.RequestId ?? "")
                .Replace("%url", logRequestBase.Url)
                .Replace("%logger", logger);

            // ----------------

            JavascriptLogging.RaiseLoggingEvent(loggingEventArgs);

            // If user wrote event handler that decided not to log the message, return null
            if (loggingEventArgs.Cancel) { return null; }

            return loggingEventArgs;
        }
Ejemplo n.º 32
0
 public RequestLoggingServiceBehavior(LogRequest logger)
 {
     _logCallback = logger;
 }
Ejemplo n.º 33
0
		/// <summary>
		/// Returns true to indicate that the process can be shut down.
		/// </summary>
		/// <param name="e"></param>
		/// <returns></returns>
		public bool ProcessCompleted (TestHarnessCompletedEventArgs e, Action onCompleted)
		{
			string msg;

			try {
				if (filename == null)
					return true;

				if (writer != null)
					writer.Flush ();

				msg = text.ToString ();

				if (string.IsNullOrEmpty (msg))
					return true;

				LogRequest request = new LogRequest ();
				request.provider = this;
				request.uri = new Uri (baseuri + "MoonLogProvider.aspx?filename=" + filename, UriKind.Absolute);
object _o = WebRequest.Create (request.uri);
Console.WriteLine (_o.GetType());
				request.httprequest = (HttpWebRequest) _o;
				//request.httprequest = (HttpWebRequest) WebRequest.Create (request.uri);
				request.httprequest.Method = "POST";
				request.httprequest.ContentType = "text/xml";// "application/x-www-form-urlencoded";
				request.message = msg + Environment.NewLine;
				
				// This cwl is required, the test harness looks for it in stdout to find
				// the filename we write to.
				Console.WriteLine ("MoonLogProvider: sending request to: {0}", request.uri);
				
				request.httprequest.BeginGetRequestStream (RequestCallback, request);

				on_completed = onCompleted;

				return false;
			} catch (Exception ex) {
				Console.WriteLine ("Exception while trying to send result: {0}", ex.ToString ());
				return true;
			}
		}
Ejemplo n.º 34
0
 public void AddLogger(LogRequest logger)
 {
     _logCallback += logger;
 }