Пример #1
0
        void InitPathDependentMembers(IConnectionParams connectParams)
        {
            isSavableAs     = false;
            taskbarFileName = null;
            bool   isTempFile      = false;
            string guessedFileName = null;

            string fname = connectParams[ConnectionParamsKeys.PathConnectionParam];

            if (fname != null)
            {
                isTempFile  = host.TempFilesManager.IsTemporaryFile(fname);
                isSavableAs = isTempFile;
            }
            string connectionIdentity = connectParams[ConnectionParamsKeys.IdentityConnectionParam];

            if (connectionIdentity != null)
            {
                guessedFileName = ConnectionParamsUtils.GuessFileNameFromConnectionIdentity(connectionIdentity);
            }
            if (isSavableAs)
            {
                suggestedSaveAsFileName = SanitizeSuggestedFileName(guessedFileName);
            }
            taskbarFileName = guessedFileName;
        }
Пример #2
0
        public StreamLogProvider(
            ILogProviderHost host,
            ILogProviderFactory factory,
            IConnectionParams connectParams,
            Func <MediaBasedReaderParams, IPositionedMessagesReader> readerCreator
            ) :
            base(host, factory, connectParams)
        {
            using (tracer.NewFrame)
            {
                StartAsyncReader(async() => {
                    if (connectionParams[ConnectionParamsKeys.RotatedLogFolderPathConnectionParam] != null)
                    {
                        media = new RollingFilesMedia(
                            host.FileSystem,
                            readerCreator,
                            tracer,
                            new GenericRollingMediaStrategy(
                                connectionParams[ConnectionParamsKeys.RotatedLogFolderPathConnectionParam],
                                ConnectionParamsUtils.GetRotatedLogPatterns(connectParams)
                                )
                            );
                    }
                    else
                    {
                        media = await SimpleFileMedia.Create(host.FileSystem, connectParams);
                    }

                    reader = readerCreator(new MediaBasedReaderParams(this.threads, media,
                                                                      settingsAccessor: host.GlobalSettings, parentLoggingPrefix: tracer.Prefix));

                    ITimeOffsets initialTimeOffset;
                    if (LogJoint.TimeOffsets.TryParse(
                            connectionParams[ConnectionParamsKeys.TimeOffsetConnectionParam] ?? "", out initialTimeOffset))
                    {
                        reader.TimeOffsets = initialTimeOffset;
                    }

                    return(reader);
                });

                InitPathDependentMembers(connectParams);
            }
        }
Пример #3
0
 ILogSource ILogSourcesManager.Find(IConnectionParams connectParams)
 {
     return(logSources.FirstOrDefault(s => ConnectionParamsUtils.ConnectionsHaveEqualIdentities(s.Provider.ConnectionParams, connectParams)));
 }
Пример #4
0
 string ILogProviderFactory.GetConnectionId(IConnectionParams connectParams)
 {
     return(ConnectionParamsUtils.GetConnectionIdentity(connectParams));
 }
Пример #5
0
 public static IConnectionParams CreateConnectionParamsFromFileName(string fileName)
 {
     return(ConnectionParamsUtils.CreateFileBasedConnectionParamsFromFileName(fileName));
 }