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

tiagodavi
I’ve just created and published my first Elixir library! Ex4j combines the power of Ecto schema with the Bolt protocol + an elegant DSL ...
New
wingyplus
Hi, I start working on the fork version of Elixir GRPC. What I’ve done is the past few days: Support Elixir 1.11+ Support OTP 23+ OTP...
New
c4710n
This package is a simple wrapper of beam-telemetry packages. It provides a modular approach for using beam-telemetry packages. The basi...
New
noizu
Hello, I wrote a more comprehensive llama_cpp nif wrapper noizu-labs-ml/ex_llama: (github.com) inspired by the unfortunately doa jereg...
New
manuel-rubio
There was some time when I started thinking about giving a boost to Lambdapad, the initiative from @garretsmith in Erlang that I loved wa...
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
weakwire
Hello people, Big fan of elixir & phoenix LiveView. While designing LiveView applications I use LiveComponent extensively. Issue-I...
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
tmbb
SciEx - Scientific programming Code here (very early stage): GitHub - tmbb/sci_ex: Scientific programming for Elixir I have decided to s...
New
gilest
Hi all Relatively new to Elixir, but was curious to see how Phoenix might run with a basic importmap configuration. Introducing, phoeni...
New

Other popular topics Top

JDanielMartinez
Hi! May someone helps me, please! I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
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
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 35421 110
New
Jim
As a follow up to my earlier question: I have the code compiling and running but not getting a successful login from the rest server. ...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
chensan
I have a User schema with a :from_id field set to type :string: defmodule TweetBot.Repo.Migrations.CreateUsers do use Ecto.Migration ...
New
qwerescape
Is there a way to get the call stack or stack trace at any point in the code? Not from exceptions, but an expression that returns how the...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New
magnetic
Hey :wave:t3: Elixir community, I’ve been learning Elixir, and working on some side projects. My editor of choice is VSCode, and althoug...
New

We're in Beta

About us Mission Statement