コード例 #1
0
ファイル: LogWindow.cs プロジェクト: gspatace/logexpert
        private void LoadFilesAsMultiInternal(string[] fileNames, EncodingOptions encodingOptions)
        {
            Logger.logInfo("Loading given files as MultiFile:");

            EnterLoadFileStatus();

            foreach (string name in fileNames)
            {
                Logger.logInfo("File: " + name);
            }

            if (CurrentLogFileReader != null)
            {
                CurrentLogFileReader.stopMonitoring();
                UnRegisterLogFileReaderEvents();
            }

            EncodingOptions = encodingOptions;
            _columnCache = new ColumnCache();

            CurrentLogFileReader = new LogfileReader(
                fileNames,
                EncodingOptions,
                Preferences.bufferCount,
                Preferences.linesPerBuffer,
                _multifileOptions);

            CurrentLogFileReader.UseNewReader = !Preferences.useLegacyReader;
            RegisterLogFileReaderEvents();
            CurrentLogFileReader.startMonitoring();
            FileName = fileNames[fileNames.Length - 1];
            _fileNames = fileNames;
            IsMultiFile = true;
        }
コード例 #2
0
ファイル: LogWindow.cs プロジェクト: gspatace/logexpert
        private void LoadFileInternal(string fileName, EncodingOptions encodingOptions)
        {
            EnterLoadFileStatus();

            if (fileName != null)
            {
                FileName = fileName;
                EncodingOptions = encodingOptions;

                if (CurrentLogFileReader != null)
                {
                    CurrentLogFileReader.StopMonitoringAsync();
                    UnRegisterLogFileReaderEvents();
                }
                if (!LoadPersistenceOptions())
                {
                    if (!IsTempFile)
                    {
                        ILogLineColumnizer columnizer = FindColumnizer();
                        if (columnizer != null)
                        {
                            if (_reloadMemento == null)
                            {
                                columnizer = Util.CloneColumnizer(columnizer);
                            }
                        }
                        PreSelectColumnizer(columnizer);
                    }
                    SetDefaultHighlightGroup();
                }

                // this may be set after loading persistence data
                if (_fileNames != null && IsMultiFile)
                {
                    LoadFilesAsMulti(_fileNames, EncodingOptions);
                    return;
                }
                _columnCache = new ColumnCache();
                try
                {
                    CurrentLogFileReader = new LogfileReader(
                        fileName,
                        EncodingOptions,
                        IsMultiFile,
                        Preferences.bufferCount,
                        Preferences.linesPerBuffer,
                        _multifileOptions);
                    CurrentLogFileReader.UseNewReader = !Preferences.useLegacyReader;
                }
                catch (LogFileException lfe)
                {
                    MessageBox.Show("Cannot load file\n" + lfe.Message, "LogExpert");
                    BeginInvoke(new Action<bool>(Close), new object[] { true });
                    _isLoadError = true;
                    return;
                }

                ILogLineXmlColumnizer xmlColumnizer = CurrentColumnizer as ILogLineXmlColumnizer;

                if (xmlColumnizer != null)
                {
                    CurrentLogFileReader.IsXmlMode = true;
                    CurrentLogFileReader.XmlLogConfig = xmlColumnizer.GetXmlLogConfiguration();
                }

                if (_forcedColumnizerForLoading != null)
                {
                    CurrentColumnizer = _forcedColumnizerForLoading;
                }

                IPreProcessColumnizer preProcessColumnizer = CurrentColumnizer as IPreProcessColumnizer;

                if (CurrentColumnizer is IPreProcessColumnizer)
                {
                    CurrentLogFileReader.PreProcessColumnizer = preProcessColumnizer;
                }
                else
                {
                    CurrentLogFileReader.PreProcessColumnizer = null;
                }

                RegisterLogFileReaderEvents();
                Logger.logInfo("Loading logfile: " + fileName);
                CurrentLogFileReader.startMonitoring();
            }
        }