Exemplo n.º 1
0
        void Start(object newSocket)
        {
            try
            {
                var logStreamReader = LogReaderFactory.LogStreamReader(LogFormat);
                logStreamReader.DefaultLogger = "TcpLogger";

                using (var socket = (Socket)newSocket)
                {
                    using (var ns = new NetworkStream(socket, FileAccess.Read, false))
                    {
                        int bytesRead;
                        do
                        {
                            foreach (var logMessage in logStreamReader.NextLogEvents(ns, out bytesRead))
                            {
                                logMessage.LoggerName = string.Format(":{1}.{0}", logMessage.LoggerName, Port);
                                OnNewMessage(logMessage);
                            }
                        } while (server != null && bytesRead > 0);
                    }
                }
            }
            catch (IOException e)
            {
                Console.WriteLine(e);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        /// <summary>
        /// Create a log reader based on the selected UI inputs
        /// </summary>
        /// <param name="query"></param>
        /// <param name="output"></param>
        /// <param name="logfile"></param>
        /// <param name="machineName"></param>
        /// <returns></returns>
        public bool ReadLog(string query, Dictionary <string, Query> output, string logfile = "", string machineName = "")
        {
            LogReader lr;

            if (LoadFromOption == LoadFromOptions.Live)
            {
                lr = LogReaderFactory.CreateLiveLogReader(query: query, server: machineName);
            }
            else
            {
                if (File.Exists(logfile))
                {
                    lr = LogReaderFactory.CreateSavedLogReader(logfile, query);
                }
                else
                {
                    MessageBoxResult result = MessageBox.Show("Invalid Log File", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return(false);
                }
            }

            try {
                lr.ReadLog(output, ct);
            }
            catch (Exception e) {
                MessageBoxResult result = MessageBox.Show(e.ToString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }
            return(true);
        }
        private void Start()
        {
            var logParser = LogReaderFactory.LogParser(LogFormat);

            while (true)
            {
                try
                {
                    byte[] buffer       = _udpClient.Receive(ref _remoteEndPoint);
                    string loggingEvent = System.Text.Encoding.UTF8.GetString(buffer);

                    LogMessage logMsg = logParser.TryParseLogEvent(loggingEvent, "UdpLogger");
                    logMsg.LoggerName = string.Format("{0}_{1}", _remoteEndPoint.Address.ToString().Replace(".", "-"), logMsg.LoggerName);
                    OnNewMessage(logMsg);
                }
                catch (SocketException)
                {
                    return;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                    return;
                }
            }
        }
        private void StartWatch(object sender, RoutedEventArgs e)
        {
            //read textbox values
            string machineName = MachineName.Text;
            string logFile     = LogFile.Text;

            //create query
            //4 = Information Log Level (required)
            //11,12 - EventIDs of the start/end query processing (required)
            string s = LogQueryBuilder.Build(
                new List <int> {
                4
            },
                new List <int> {
                11, 12
            }
                );

            //Create logreader -> sign up for new logreader events -> Begin watching
            watchingLogReader = LogReaderFactory.CreateLiveLogReader(query: s, server: machineName);
            watchingLogReader.CompleteQueryWrittenEvent += WriteWatchResults;
            bool watchStartSuccessful = watchingLogReader.StartWatch();

            if (watchStartSuccessful)
            {
                //update UI with available options
                StartWatchButton.IsEnabled = false;
                ParseButton.IsEnabled      = false;
                CancelButton.IsEnabled     = true;
                Processing.Content         = "Processing";


                dispatcherTimer.Start();

                //set outputwriter to whatever output option was chosen in the ui
                switch (SaveAsOption)
                {
                default:
                case SaveAsOptions.EventFrame:
                    outputWriter = new AFWriter(db);
                    break;

                case SaveAsOptions.Text:
                    outputWriter = new TextFileWriter(FileOutput.Text);
                    break;

                case SaveAsOptions.Console:
                    outputWriter = new ConsoleWriter();
                    break;
                }
            }
            else
            {
                MessageBoxResult result = MessageBox.Show("Error creating log watcher - this feature is not available with this version", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Exemplo n.º 5
0
        static Logger()
        {
            var loggerFactory = new LoggerFactory();

            LoggerInterface = loggerFactory.GetLoggerRepository();

            var logReaderFactory = new LogReaderFactory();

            LogReader = logReaderFactory.GetLogReaderRepository();
        }
Exemplo n.º 6
0
        static Logger()
        {
            var loggerFactory = new LoggerFactory();

            LoggerInterface = loggerFactory.GetLoggerRepository();

            var logReaderFactory = new LogReaderFactory();

            LogReader   = logReaderFactory.GetLogReaderRepository();
            LogReaderV2 = logReaderFactory.GetLogReaderV2Repository();

            var transactionFactory = new TransactionFactory();

            TransactionInterface = transactionFactory.GetTransactionRepository();
        }
Exemplo n.º 7
0
        static void Main(string[] args)
        {
            string s = LogQueryBuilder.Build(
                new List <int> {
                4
            },
                new List <int> {
                11, 12
            },
                DateTime.Now.AddDays(-1)
                );

            LogReader log    = LogReaderFactory.CreateSavedLogReader(@"C:\WebAPILog\Analytic.evtx", s);
            var       result = new Dictionary <string, Query>();

            log.ReadLog(result);
            foreach (Query q in result.Values)
            {
                Console.WriteLine(q);
            }

            Console.WriteLine("<ENTER> to EXIT");
            Console.ReadLine();
        }
 protected void GivenLogReader(string logFileName, long length, int maxStreams)
 {
     LogReaderFactory.Setup(x => x.Create(logFileName, It.IsInRange(0L, Math.Max(CurrentLogFilePosition, length), Range.Inclusive)))
     .Returns((string fileName, long position) =>
     {
         var internalPosition = position > length ? length : position;
         var streamsLeft      = maxStreams;
         var reader           = _mockRepository.Create <ILogReader>();
         reader.SetupGet(x => x.Position).Returns(() => internalPosition);
         reader.Setup(x => x.ReadLine()).Returns(() =>
         {
             internalPosition++;
             streamsLeft--;
             if (internalPosition > length || streamsLeft < 0)
             {
                 internalPosition = length;
                 return(new MemoryStream());
             }
             return(new MemoryStream(new byte[1]));
         });
         reader.Setup(x => x.Dispose()).Callback(() => { reader.Reset(); });
         return(reader.Object);
     });
 }
 protected void GivenLogReaderCreateIOError(string fileName, long position)
 {
     LogReaderFactory.Setup(x => x.Create(fileName, position)).Throws <IOException>();
 }
Exemplo n.º 10
0
        private static MainWindowViewModel CreateMainWindowViewModel()
        {
            var logReaderFactory = new LogReaderFactory();

            return(new MainWindowViewModel(logReaderFactory));
        }