alisinabh

alisinabh

LiveDashboard Logger: See logs from across your cluster in Phoenix Live Dashboard

Hey everyone :wave:

I was recently working on a hobby project that I have deployed on a platform that did not provide quick and easy access to my application’s logs, especially across different nodes.
Since Elixir Logger is very extensible, I thought it should not be hard to build something with Phoenix LiveView, which adds a new backend for the logger and then propagates them to my live view process using Phoenix PubSub across a cluster.

Well, I was right! It was actually fairly easy to do so. In the process, I even discovered Phoenix LiveDashboard custom pages and implemented one as a custom page for LiveDashboard. (See image below)

It does the job for my need and I decided to package it out so if someone else needs this they can also use it. One cool thing that I like about it is that it does not require adding any custom plugs or changing your app’s supervision trees.

Please let me know your suggestions and feedback :purple_heart:
Thanks!

Most Liked

BrightEyesDavid

BrightEyesDavid

Many thanks! I’ll use this for a project that the client will be hosting on their own server. Installation went fine, as expected.

My only thought is about adding a third option to remove the max-width of section#main.container, or to add some way of making the logs full-width, but that’s probably best as a general LiveDashboard thing? Anyway, I can, of course, use a custom user stylesheet in the browser.

alisinabh

alisinabh

Happy you found this useful :purple_heart:

but that’s probably best as a general LiveDashboard thing?

Yes it mostly is. In the next live-dashboard release we will also get log colors based on levels which was updated in live-dashboard css.

jaimeiniesta

jaimeiniesta

It works great!

A search filter would be a nice addition, too.

Where Next?

Popular in RFCs Top

c4710n
This package is a simple wrapper of beam-telemetry packages. It provides a modular approach for using beam-telemetry packages. The basi...
New
BartOtten
This thread once discussed Routex in it’s early form. It has been repurposed to gather feedback and discusses pre-releases. Currently: p...
New
zachallaun
Hi friends, I wanted an authorization utility for an existing project I’m working on where I have a fair amount of permissions logic dup...
New
sodapopcan
EDIT: I forgot to link the repo, ha: GitHub - sodapopcan/vials: Tweak your mix generators This project is not quite ready for prime-time...
New
BartOtten
This lib is now published and has a new topic. Once this topic was about PhxAltRoutes. A lib pioneering localized routes for Phoenix. I...
New
KristerV
I got fed up with removing unused aliases manually so made a package for it: GitHub - KristerV/remove_unused_ex: Remove unused aliases an...
New
puemos
Hey everyone :waving_hand: Code: GitHub - puemos/overbooked: Overbooked is a self-hosted flexible workplace platform for indie co-wor...
New
marick
TL;DR I’ve forked the Lens package, changed the API some, added new lens makers and – most importantly – added a ton of documentation. In...
New
laibulle
Hello, I am playing with quantitative finance with Elixir. This library is more a way for me to explore and learn in this area and especi...
New
pknoth
Built on top of boruta | Hex, I am on the way to creating a standalone OAuth 2.0/OpenID Connect server thinking of a lightweight Keycloak...
New

Other popular topics Top

sergio
In Ruby, I can go: User.find_by(email: "foobar@email.com").update(email: "hello@email.com") How can I do something similar in Elixir? ...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
script
If I have a string “1000 cfu/ml” . I want to remove the characters and / and space . So the string is like this "1000" What is the ...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
chrisalley
ExUnit now has describe blocks which is a welcome addition coming from RSpec. In the docs, it states that nested hierarchies of describe ...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers' Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New

We're in Beta

About us Mission Statement