hauleth

hauleth

Lumberjack - log viewer for Elixir and Erlang

I have created simple log viewer for your applications. It is not yet published on Hex as it still needs a little bit polishing and documentation, but I thought that it can be interesting for some of you.

Example of web UI:

Repo:

https://github.com/hauleth/lumberjack

While this has some common ground with upcoming Phoenix Dashboard there are some crucial differences:

  • This one do not require Phoenix at all. It is implemented in pure Plug and uses SSE instead of web sockets
  • This focus only on logs, without any other stuff
  • This allows to show logs from different places as well. Currently supported sources are:
    • Erlang logger (which is also used by Elixir Logger)
    • Socket (for now UDP only)
    • Filesystem (quite buggy, but in progress)

The external sources can be useful for example if you want to check out logs of your DB together with your application logs for quicker bughunt or performance monitoring.


For now it do not show metadata anywhere, but the plan is to have a way to view more informations about that log message.

Future improvements:

  • Filters for removing unneeded messages from external sources
  • Parsers to extract informations from the external log sources
  • Search in the webUI
  • Maybe add persistence to webUI
  • Fix bugs and make the FS source more robust

Most Liked

hauleth

hauleth

Someone created topic Structured logging on localhost which give me some energy to revive it a little.

For now on master there is version with updated version dependency for file_system which allows it to build with new Phoenix releases.

Also I am working on colours that will be a little bit more readable as well as with adding colouring to metadata view.

In addition to that I am planning on adding limiter that will drop old DOM nodes if there is more than N entries to reduce memory consumption when there is a lot of logs.

I am also planning on dropping plug_cowboy dependency and instead force the user to setup HTTP server when needed.

hauleth

hauleth

Added few new features:

  • Hide source by default, as most of the users will probably use only one source so it is needless clutter
  • Light and dark theme support
  • Messages on critical and above levels are now on highlighted background

outlog

outlog

looking great! - could also be of great use on a Nerves device outputting the Ringlogger..

Last Post!

jberling

jberling

Unfortunately, I can’t get it to work. I can’t see any indications any lumberjack code is running. No logs, and nothing at http://localhost:6666.

Where Next?

Popular in Announcing Top

OvermindDL1
I created a new library (rather I pulled out a couple files from my big project), it manages an operating system PID file for the BEAM. ...
New
josevalim
Yes, yet another parser combinator library! Most of the parser combinators in the ecosystem are either compile-time, often using AST tra...
159 19834 141
New
sasajuric
I’d like to announce a small library called boundaries. This is an experimental project which explores the idea of enforcing boundaries ...
New
mathieuprog
Hello :waving_hand: Allow me to introduce you to Tz, an alternative time zone database support to Tzdata. Why another library? First a...
New
type1fool
WebAuthnLiveComponent WebAuthnComponents See this post about renaming the package. Passwordless authentication for Phoenix LiveView app...
New
woylie
Flop is an Elixir library that applies filtering, ordering and pagination parameters to your Ecto queries. offset-based pagination with...
New
scohen
Lexical Lexical is a next-generation language server for the Elixir programming language. Features Context aware code completion As-you...
New

Other popular topics Top

electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 40042 209
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 42533 114
New

We're in Beta

About us Mission Statement