Ejemplo n.º 1
0
        /**
         * Regel bevat de goede lay-out (Na 1 april 2018 als het goed is).
         * Nu nog wel bepalen of deze naar de database geschreven moet worden
         * */
        internal void verwerkGoedeRegel(string regel)
        {
            IISLogObject iislog = new IISLogObject();

            // Soms wordt binnen een tekst 2 quotes gebruikt om de quote te escapen
            if (regel.Contains("\"\"") & !regel.Contains(" \"\" "))
            {
                regel = regel.Replace("\"\"", "");
            }

            List <string> gesplitst = splitsDeRegel(regel);

            try {
                iislog = maakEenIISLogObject(gesplitst);
            } catch (Exception e) {
                HuubLog("Fout in maakEenIISLogObject : " + e.Message);
            }

            // Toevoegen van de objecten in een hashset TODO vaak dubbel maar waarom
            if (!lijstIISLogObjecten.Add(iislog))
            {
                HuubLog("Dubbele rij in de iislog : " + regel, true);
                //var x = lijstIISLogObjecten.GetHashCode();
                //var y = lijstIISLogObjecten.GetObjectData(iislog);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Op basis van een gesplitse tekstregel omzetten naar object iislog
        /// voorlopig alleen op oude en nieuwe omgeving aangepast. Nog niet op de NAM logs
        /// </summary>
        /// <param name="gesplitst"></param>
        /// <returns></returns>
        private IISLogObject maakEenIISLogObject(List <string> gesplitst)
        {
            IISLogObject iislog = new IISLogObject();

            string tijd             = gesplitst[LogVeldIndex.tijd];
            string tijdDeelVoorPunt = tijd.Substring(0, tijd.IndexOf('.'));
            //TODO Davey: kijken of hier losse objecten of samen moeten komen als er een regel op hetzelfde tijdstip voorkomt
            string tijdDeelNaPunt = tijd.Substring(tijd.IndexOf('.') + 1);

            try {
                iislog.datum           = maakDatum(gesplitst[LogVeldIndex.datum]);
                iislog.uur             = tijdDeelVoorPunt.Substring(0, 2);
                iislog.fractie_tijd    = tijdDeelNaPunt;
                iislog.time_taken      = gesplitst[LogVeldIndex.time_taken];
                iislog.cs_uri_query    = gesplitst[LogVeldIndex.cs_uri_query].Replace("\"", "");
                iislog.s_computername  = gesplitst[LogVeldIndex.s_computername].Replace("\"", "");
                iislog.cs_referer      = gesplitst[LogVeldIndex.cs_referer].Replace("\"", "");
                iislog.s_contentpath   = gesplitst[LogVeldIndex.s_contentpath].Replace("\"", "");
                iislog.sc_status       = gesplitst[LogVeldIndex.sc_status];
                iislog.sc_bytes        = gesplitst[LogVeldIndex.sc_bytes];
                iislog.cs_bytes        = gesplitst[LogVeldIndex.cs_bytes];
                iislog.cs_host         = gesplitst[LogVeldIndex.cs_host].Replace("\"", "");
                iislog.cs_method       = gesplitst[LogVeldIndex.cs_method];
                iislog.s_ip            = gesplitst[LogVeldIndex.s_ip];
                iislog.x_forwarded_for = gesplitst[LogVeldIndex.x_forwarded_for].Replace("\"", "");
                iislog.cs_cookie       = gesplitst[LogVeldIndex.cs_cookie].Replace("\"", "");
                iislog.c_ip            = gesplitst[LogVeldIndex.c_ip];
            } catch (Exception e) {
                HuubLog("Fout in maakEenIISLogObject : " + e.Message);
            }
            return(iislog);
        }