hauleth

hauleth

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

Showing Posts 1 to 9

hauleth

hauleth OP

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..

hauleth

hauleth OP

I think I could work on migrating RingLogger to the Erlang Logger and then it indeed would be nice to have, as this would allow me to have persistence layer within the application.

hauleth

hauleth OP

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.

D4no0

D4no0

Very nice, thanks for updating it!

Lately reading error messages from phoenix has become a pretty substantial problem for me. This solution might provide the perfect experience for dev environments where you don’t want to run a series of log collection and processing services.

Terbium-135

Terbium-135

Looking forward to see this change!

And of course: Thx for your work

jberling

jberling

I feel a little stupid, but what do I need to do to make it work? I have added it to my dependencies and I have updated my config with the sources. Should that be enough, or do I need to do any additional steps? Where can I see the UI in your screenshots?

hauleth

hauleth OP

If you set the port for the application, then it is available under that port. So with:

config :lumberjack, :port, 6666

You go to http://localhost:6666 to view the UI.

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.

— All posts loaded —

Where Next? Top

Trending in Announcing Top

wojtekmach
Hey everyone! Req is an HTTP client for Elixir that I’ve been working on for quite some time. There is already a lot of HTTP clients out...
New
handnot2
Samly can be used to enable SAML 2.0 Single Sign On in a Plug/Phoenix application. This library uses Erlang esaml to provide plug enabl...
New
woylie
Flop is an Elixir library that applies filtering, ordering and pagination parameters to your Ecto queries. offset-based pagination with...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
fuelen
Hi all! I want to present a small library which provides a mix task for generating an Entity-Relationship Diagram for Ecto schemas. You...
New
anuaralfetahe
Hello Published a new library - ProcessHub! ProcessHub is a library designed to manage process distribution within the Elixir cluster. ...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
mudasobwa
I am seeing a lot of aplications of Argumentum ad Vericundiam in software discussions. They do link some piece of writing and point us to...
New
bartblast
Hey folks, I just published a post about Hologram’s funding and where the project goes next - the short version: Curiosum as Main Spons...
New
AstonJ
This showed up on my feed.. anyone heard of it? Just hype? Ox Alpha is a reasoning model designed for coding, sustained ag...
New
sergio
It’s not that it’s vocabulary is too advanced. It’s something worse. I get lost trying to follow even a paragraph written by Claude. It’...
New
sorenone
Today we’re releasing Oban for Python. Not an Oban client in Python. Not a pythonx wrapper embedded in Elixir. Nope, it’s a fully operati...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews