Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plug-in to any provider of lines #51

Open
RolandPheasant opened this issue Dec 7, 2015 · 12 comments
Open

Plug-in to any provider of lines #51

RolandPheasant opened this issue Dec 7, 2015 · 12 comments

Comments

@RolandPheasant
Copy link
Owner

There have been some very interesting requests for enabling Tail Blazer to be the visualisation of external data sources. So far there have been requests for:
#47 Tx Support
#44 Open pipe instead of file
#20 SSH/SFTP Support for Tailing Remote Files

Also but not raised, plug-ins for the following has been asked for:

  • Local instance of Elastic Search
  • Windows event viewer logs
  • TCP and UDP (Log4net, NLog, log4j enable this)

To account for these requests I have completed some major re-architecting and provided some very simple plug-in interfaces which if implemented can be used as a source of lines.

The plug in observable is:

    IObservable<ILineProvider>

And ILineProvider is:

    public interface ILineProvider
    {
        bool IsEmpty { get; }
        int Count { get; }
        IEnumerable<Line> ReadLines(ScrollRequest scroll);
    }

With a little tweaking of my code I will be able to drop IsEmpty and Count as these can be derived from the results.

If the connectivity to each of these can be driven from within Tail Blazer then I see no reason why I couldn't allow external plug-ins for any of these providers + more

Has anyone got any more ideas, or would anyone like to help?

@thoemmi
Copy link

thoemmi commented Dec 8, 2015

Additional providers could be TCP and UDP. Log4net, NLog, log4j are all able to send log messages over the wire (or through the ether). It would be awesome if TailBlazer could act as a sink for those messages.

@RolandPheasant
Copy link
Owner Author

@thoemmi I have updated the list in the original comment

@davenewza
Copy link

Many of our logs get pushed to Append Blobs in Azure Storage. It would be ideal having "appendages" updated straight to Tail Blazer.

@gfody
Copy link

gfody commented Feb 9, 2016

I use powershell to tail logs across many servers with a command like this:
icm -comp $servers -cred $me -script { gc some.log -last 1 -wait }

It would be great to pipe this to TailBlazer - ideally it would create tabs for each distinct $_.PSComputerName

@RolandPheasant
Copy link
Owner Author

@gfody great suggestion

@neuecc
Copy link

neuecc commented Feb 17, 2016

Thank you, TailBlazer is great tool!

So I've created EtwStream https://github.com/neuecc/EtwStream as logging Event Tracing for Windows.
It is similar to Tx but it features more in Realtime.

If supports plug-in, I'll add EtwStram for TailBlazer.

By the way, ETW has structured log events.
Currently I'm using LINQPad for dump ETW structured events.
If TailBlazer supports keeping structure, more good.
If do it, interface will be changed, IEnumerable<Column[]> ?

@RolandPheasant
Copy link
Owner Author

@neuecc etw looks excellent and I see no reason it could not be plugged in.

I will take a more detailed look and get back to you.

@tdietrich513
Copy link

This would be a very useful feature for streaming logs from cloudfoundry as well. 👍

@fireundubh
Copy link

fireundubh commented Jul 7, 2016

I'm not sure if this is the appropriate place for this, but I'd like to vote for #20. Currently, I have to mount a remote file system via Dokan SSHFS, and then tail files through that mount, so a more direct path would be appreciated.

@Roritharr
Copy link

+1 for #20
How can I help make this happen?

@RolandPheasant
Copy link
Owner Author

@Roritharr are you willing to contribute? I would love some help. If you can contact me here https://github.com/RolandPheasant/TailBlazer

@Otiel
Copy link

Otiel commented Nov 29, 2017

Any progress on #20?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants