# Julia Logging frameworks - Several options but no consensus?

**URL:** <https://discourse.julialang.org/t/julia-logging-frameworks-several-options-but-no-consensus/122672>\
**Category:** New to Julia\
**Tags:** question, package\
**Created:** [November 15, 2024, 11:10am UTC](https://discourse.julialang.org/t/julia-logging-frameworks-several-options-but-no-consensus/122672 "2024-11-15T11:10:57Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![world-peace](https://avatars.discourse-cdn.com/v4/letter/w/9f8e36/32.png) [@world-peace](https://discourse.julialang.org/u/world-peace)\
**Post date:** [November 15, 2024, 11:10am UTC](https://discourse.julialang.org/t/julia-logging-frameworks-several-options-but-no-consensus/122672/1 "2024-11-15T11:10:57Z")

</div>

There has been a dedicated page for Julia logging since 2021.

- [https://julialogging.github.io/](https://julialogging.github.io/)

I have been trying to figure out if there now an established consensus on which logging framework should be used with Julia.

In addition to the above link, I also found some results on the Julia Packages website.

- [https://juliapackages.com/c/logging](https://juliapackages.com/c/logging)

Some of these do not appear to be maintained, with updates older than 12 months ago.

However, by the standard of Julia packages, something which has not been updated for 12 months is not necessarily abandonware. Since the number of Julia developers is comparatively small compared to other languages this has the inevitable result that some packages do not receive updates for long periods of time.

# Logging.jl

The `Logging.jl` package is here:

- [Logging · Julia Packages](https://juliapackages.com/p/logging)

Is this the same package as the Julia standard library logging module? It doesn’t appear to have been updated for 12 months, which if it is a Standard Library module seems kind of surprising.

# Memento.jl

- [Memento · Julia Packages](https://juliapackages.com/p/memento)

This package appears to be actively maintained, but also appears to be totally independent of either the Standard Library logging modules, or any of the packages which are featured in [https://julialogging.github.io/](https://julialogging.github.io/).

Since [https://julialogging.github.io/](https://julialogging.github.io/) appears to be a collection of logging packages which interop with each other does that mean Memento is not compatible with these other things?

That would suggest Memento is the only main alternative to the packages featured here [https://julialogging.github.io/](https://julialogging.github.io/).

If anyone is familiar with both options, would it be possible to provide an overview of both? eg: Why would you choose one over the other?

# Other featured options

Other featured options include packages such as

- [Log4jl · Julia Packages](https://juliapackages.com/p/log4jl)

which doesn’t appear to have been updated for 2 years.

Others are even older.

- [Lumberjack · Julia Packages](https://juliapackages.com/p/lumberjack)

I would assume that these are abandonware?

---

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [November 15, 2024, 11:50am UTC](https://discourse.julialang.org/t/julia-logging-frameworks-several-options-but-no-consensus/122672/2 "2024-11-15T11:50:07Z")

</div>

Just to give some context; Memento (which was originally a [fork](https://invenia.github.io/Memento.jl/latest/faq/another-logging-lib/#yall-1) of Lumberjack) predates the Logging stdlib. The implementation of Logging was inspired by Memento (some breadcrumbs: [https://github.com/JuliaLang/julia/pull/24490](https://github.com/JuliaLang/julia/pull/24490), [https://github.com/JuliaLang/julia/pull/23712](https://github.com/JuliaLang/julia/pull/23712), [https://github.com/JuliaLang/Juleps/blob/master/Logging.md](https://github.com/JuliaLang/Juleps/blob/master/Logging.md)). I have no experience with Memento so I cannot comment on how they compare otherwise.

I believe most “library packages” simply use the standard `@info`, `@warn`, etc, logging macros to fire off log events and leave it up to applications (user code or “application like” packages) do filter/format/handle them.

---

<div class="post-metadata">

**Author:** ![world-peace](https://avatars.discourse-cdn.com/v4/letter/w/9f8e36/32.png) [@world-peace](https://discourse.julialang.org/u/world-peace)\
**Post date:** [November 16, 2024, 10:20am UTC](https://discourse.julialang.org/t/julia-logging-frameworks-several-options-but-no-consensus/122672/3 "2024-11-16T10:20:34Z")

</div>

I think your answer conclusively clarifies the situation.

In a nutshell, use this one:

- [Logging · The Julia Language](https://docs.julialang.org/en/v1/stdlib/Logging/)

Since Memento is a fork of Lumberjack, and the above I guess is an effective replacement for Memento.

If anyone has any experience with the Log4jl package they could share that would be interesting.

I never really liked Log4j. I don’t know if the design of Log4jl is anything like that of Log4j. (With weird xml configs.)

---

<div class="post-metadata">

**Author:** ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)\
**Post date:** [November 16, 2024, 10:21pm UTC](https://discourse.julialang.org/t/julia-logging-frameworks-several-options-but-no-consensus/122672/4 "2024-11-16T22:21:38Z")

</div>

LoggingExtras.jl has a bunch of useful stuff, and I have ~~MicroLoggers.jl~~ MiniLoggers.jl in my startup, because I like their formatting better than the default. But both of those are built on top of the stdlib Logging

---

<div class="post-metadata">

**Author:** ![world-peace](https://avatars.discourse-cdn.com/v4/letter/w/9f8e36/32.png) [@world-peace](https://discourse.julialang.org/u/world-peace)\
**Post date:** [November 18, 2024, 9:46am UTC](https://discourse.julialang.org/t/julia-logging-frameworks-several-options-but-no-consensus/122672/5 "2024-11-18T09:46:30Z")

</div>

Can you clarify is it Miniloggers.jl or _MicroLogging_.jl which you recommend?

---

<div class="post-metadata">

**Author:** ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)\
**Post date:** [November 18, 2024, 12:38pm UTC](https://discourse.julialang.org/t/julia-logging-frameworks-several-options-but-no-consensus/122672/6 "2024-11-18T12:38:44Z")

</div>

Indeed! 🤦‍♂️

---

<div class="post-metadata">

**Author:** ![world-peace](https://avatars.discourse-cdn.com/v4/letter/w/9f8e36/32.png) [@world-peace](https://discourse.julialang.org/u/world-peace)\
**Post date:** [November 19, 2024, 2:08pm UTC](https://discourse.julialang.org/t/julia-logging-frameworks-several-options-but-no-consensus/122672/7 "2024-11-19T14:08:49Z")

</div>

Ok - Miniloggers - thanks, will check it out
