Back in June we created the JuliaLogging organization with the intention to collect and promote various logging packages in Julia. It is my understanding that logging in Julia is quite underutilized, probably because the Logging standard library is quite limited, and the knowledge of extension packages are not so widespread.
Since we created the organization I have been procrastinating every now and then writing documentation for the organization. The result of this is now published: https://julialogging.github.io/. The intention of this document is to both give an overview of the many packages that extend the Logging standard library, and also to document and demonstrate common logging operations (routing, filtering, transforming, file rotation, formatting, etc). Please have a look!
If you find something confusing, missing or something that can be improved I encourage you to contribute. Probably there are logging related packages that I have missed that should be included (note that you don’t have to move the package to the JuliaLogging organization in order to document it there).
I tried to make it easy and fun to contribute: If you clone the repository and run
make from the root LiveServer.jl will start a web server on http://localhost:8080 that will automatically monitor changes to the source files, re-build the HTML pages, and automatically refresh the webpage in the browser. I have found this workflow to be very nice when writing documentation since you get to see the result directly.
- The structure of https://julialogging.github.io/ is based on the Diátaxis Framework. This is the first time I try to structure docs like that. Does anyone have any thoughts on this? Personally I found it difficult to separate what they refer to as “how-to” and “tutorial”.
- Various new features in Documenter.jl were prompted by, and show-cased at, https://julialogging.github.io/. In particular:
- Colored output from
@replblocks (Documenter.jl#1441, Documenter.jl#1628),
- Correct line numbers for
- Prerendering for code highlighting (Documenter.jl#1627) so you can use your favorite highlighter,
- Support for deploying without versions (Documenter.jl#1616) such that https://julialogging.github.io/ is just https://julialogging.github.io/ and not https://julialogging.github.io/stable/.
- Colored output from