コード例 #1
0
        public LogsListener(TimberWinR.Parser.LogParameters arguments, CancellationToken cancelToken)
            : base(cancelToken, "Win32-FileLog")
        {
            Stop = false;

            EnsureRollingCaught();

             _codecArguments = arguments.CodecArguments;

            _codecArguments = arguments.CodecArguments;
            if (_codecArguments != null && _codecArguments.Type == CodecArguments.CodecType.multiline)
                _codec = new Multiline(_codecArguments);

            if (!string.IsNullOrEmpty(arguments.Type))
                SetTypeName(arguments.Type);

            _receivedMessages = 0;
            _arguments = arguments;
            _pollingIntervalInSeconds = arguments.Interval;

            IsWildcardFilePattern = arguments.Location.Contains('*');

            foreach (string srcFile in _arguments.Location.Split(','))
            {
                string file = srcFile.Trim();
                string dir = Path.GetDirectoryName(file);
                if (string.IsNullOrEmpty(dir))
                    dir = Environment.CurrentDirectory;
                string fileSpec = Path.Combine(dir, file);

                Task.Factory.StartNew(() => FileWatcher(fileSpec));
            }
        }
コード例 #2
0
        public TailFileListener(TimberWinR.Parser.TailFileArguments arguments,
            CancellationToken cancelToken)
            : base(cancelToken, "Win32-TailLog")
        {
            Stop = false;

            EnsureRollingCaught();

            _codecArguments = arguments.CodecArguments;
            if (_codecArguments != null && _codecArguments.Type == CodecArguments.CodecType.multiline)
                _codec = new Multiline(_codecArguments);

            if (!string.IsNullOrEmpty(arguments.Type))
                SetTypeName(arguments.Type);

            _receivedMessages = 0;
            _arguments = arguments;
            _pollingIntervalInSeconds = arguments.Interval;

            foreach (string srcFile in _arguments.Location.Split(','))
            {
                string file = srcFile.Trim();
                Task.Factory.StartNew(() => TailFileWatcher(file));
            }
        }
コード例 #3
0
ファイル: Parser.cs プロジェクト: yonglehou/TimberWinR
 public GeneratorParameters()
 {
     Count               = 0;  // Infinity messages
     Rate                = 10; // Milliseconds
     Message             = "Hello, world!";
     CodecArguments      = new CodecArguments();
     CodecArguments.Type = CodecArguments.CodecType.plain;
 }
コード例 #4
0
        public StdinListener(TimberWinR.Parser.Stdin arguments, CancellationToken cancelToken)
            : base(cancelToken, "Win32-Console")
        {
            _codecArguments = arguments.CodecArguments;
            if (_codecArguments != null && _codecArguments.Type == CodecArguments.CodecType.multiline)
                _codec = new Multiline(_codecArguments);

            _listenThread = new Thread(new ThreadStart(ListenToStdin));
            _listenThread.Start();
        }
コード例 #5
0
 public PlainCodec(CodecArguments args)
 {
     _codecArguments = args;
 }
コード例 #6
0
 // return true to cancel codec
 public Multiline(CodecArguments args)
 {
     _codecArguments = args;
 }
コード例 #7
0
 public JsonCodec(CodecArguments args)
 {
     _codecArguments = args;
 }
コード例 #8
0
ファイル: Parser.cs プロジェクト: schmidt4brains/TimberWinR
 public GeneratorParameters()
 {
     Count = 0; // Infinity messages
     Rate = 10; // Milliseconds
     Message = "Hello, world!";
     CodecArguments = new CodecArguments();
     CodecArguments.Type = CodecArguments.CodecType.plain;
 }