Example #1
0
        private void loadLatestToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var             sites = IOHandler.GetSiteFolders();
            List <ValidLog> files = new List <ValidLog>();

            foreach (var site in sites)
            {
                files.AddRange(IOHandler.GetLogs(site));
            }
            List <string> lines = new List <string>();

            foreach (var log in files)
            {
                lines.AddRange(IOHandler.LogContents(log));
            }
            var logs = W3CParser.ParseContents(lines.ToArray());


            foreach (var log in logs)
            {
                if (CFTool.NeedsParsed(log.X_Forwarded_For))
                {
                    log.X_Forwarded_For = CFTool.GetClientIP(log.X_Forwarded_For);
                }
                if (log.X_Forwarded_For != null & log.X_Forwarded_For != "-")
                {
                    if (!InList(log.X_Forwarded_For))
                    {
                        AddClient(log.X_Forwarded_For);
                    }
                }
                else if (!InList(log.ClientIP))
                {
                    AddClient(log.ClientIP);
                }
            }
        }
Example #2
0
        private static BaseParser GetParserForFormat(LogFormat format)
        {
            BaseParser parser;

            switch (format)
            {
            case LogFormat.W3C:
                parser = new W3CParser();
                break;

            case LogFormat.IIS:
                parser = new IISParser();
                break;

            case LogFormat.NCSA:
                parser = new NCSAParser();
                break;

            default:
                throw new Exception($"Unknown log format: {format}");
            }

            return(parser);
        }