Logback VS JDK

Compare Logback vs JDK and see what are their differences.

Logback

The reliable, generic, fast and flexible logging framework for Java. (by qos-ch)

JDK

JDK main-line development https://openjdk.org/projects/jdk (by openjdk)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
Logback JDK
19 191
2,893 18,393
0.7% 2.1%
8.7 10.0
about 22 hours ago about 4 hours ago
Java Java
GNU General Public License v3.0 or later GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Logback

Posts with mentions or reviews of Logback. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-22.
  • Logging in your API
    13 projects | dev.to | 22 Feb 2023
    Java -> Logback, Log4j2, JDK (Java Util Logging), Slf4j, e.t.c.
  • Spring Boot logging with Loki, Promtail, and Grafana (Loki stack)
    5 projects | dev.to | 6 Jan 2023
    This is a GitHub link to my demo app. It’s simple Spring Boot web app used to debugging various stuff. There are many ways to configure JSON logging in Spring Boot. I decided to use Logback because it is easy to configure and one of the most widely used logging library in the Java Community. To enable JSON logging we need to add below dependencies.
  • 5 Best Logging Solutions for Java
    2 projects | dev.to | 5 Oct 2022
    Logback(https://logback.qos.ch/) is another non-commercial Java logging framework. It labels itself as a successor to the previously discussed Log4j framework.
  • Log4j: The Pain Just Keeps Going and Going
    8 projects | news.ycombinator.com | 20 Jul 2022
    > Then apache decides to put new people on log4j, do a backward incompatible v2 design that nevertheless is worse than slf4j. Why?

    slf4j itself isn't a logging framework. It's a facade to logging frameworks.

    Simple Logging Facade for Java ( https://www.slf4j.org )

    It needs a logging framework behind it - log4j, log4j2, logback, commons, JUL.

    The question is "why do log4j2?"

    Logback went from the log4j1.x path ( https://logback.qos.ch )

    Log4j2 has a lot of features that weren't present when the project started ( https://en.wikipedia.org/wiki/Log4j#Apache_Log4j_2 ).

    There is a licensing difference between Logback (LGPL) and Log4jx (Apache Commons).

  • E2E-Testing in CI Environment With Testcontainers
    3 projects | dev.to | 21 Jun 2022
    Also, I'd like you to pay attention to the log consumer. You see, when the E2E scenario fails, it's not always obvious why. Sometimes to understand the source of the problem you have to dig into containers' logs. Thankfully the log consumer allows us to forward a container's logs to any SLF4J logger instance. In this project, containers' logs are forwarded to regular text files (you can find the Logback configuration in the repository). Though it's much better to transfer logs to external logging facility (e.g. Kibana).
  • 🛡️ This is how we maintain & release Secured Software on Github 🤖
    6 projects | dev.to | 9 May 2022
  • Creating an interface
    1 project | /r/javahelp | 5 May 2022
  • How to Check if a Java Project Depends on A Vulnerable Version of Log4j
    8 projects | dev.to | 20 Dec 2021
    This shows that the MariaDB JDBC driver uses Logback as a logging framework. Although Logback is not affected by Log4Shell, it has a related vulnerability (of much lesser severity, no need to panic) fixed in version 1.2.8 and 1.3.0-alpha11. I checked the version used by the connector and found that it used 1.3.0-alpha10. Even though Logback is included as a test dependency in the MariaDB driver, I sent a pull request on GitHub to update it. I encourage you to do the same in any open-source project you find and that includes a vulnerable dependency.
  • Migrating off of Log4j 2.x
    3 projects | dev.to | 19 Dec 2021
    Dependencing on the project, changing the logger might range from easy peasy to a multi-week task. I'm ready to bet that in many (most?) cases, it'd actually be quite easy, so let's explore how to do it, using Logback as the target (there aren't that many alternatives actually).
  • Third Log4j High Severity CVE is published. What a mess!
    1 project | /r/programming | 18 Dec 2021
    behold logback doing a bunch of JNDI fixes: https://github.com/qos-ch/logback/commit/c43bd30e1092b89bb91f5fb6a28310956b3bac61

JDK

Posts with mentions or reviews of JDK. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-19.
  • JEP draft: Exception handling in switch
    6 projects | news.ycombinator.com | 19 Apr 2024
  • Java 23: The New Features Are Officially Announced
    5 projects | news.ycombinator.com | 17 Apr 2024
    Completely gutted from the OpenJDK, last I checked. See here for the culprit PR: https://github.com/openjdk/jdk/pull/18688
  • macOS 14.4 might break Java on your machine
    4 projects | news.ycombinator.com | 18 Mar 2024
    > Yes, they're changing one aspect of signal handler use to work around this problem. They're not stopping the use of signal handlers in general. Hotspot continues to use signals for efficiency in general. See https://github.com/openjdk/jdk/blob/9059727df135dc90311bd476...

    This whole thread is about SIGSEGV, and specifically their SIGSEGV handling. However, catching normal signals is not about efficiency.

    Some of their exception handling is still odd: There is no reason for a program that receives SIGILL to ever attempt continuing. But others is fine, like catching SIGFPE to just forward an exception to the calling code.

    (Sure, you could construct an argument to say that this is for efficiency if you considered the alternative to be implementing floating point in software so that all exceptions exist in user-space, but hardware floating point is the norm and such alternative would be wholly unreasonable.)

    > The wonderful thing about choosing not to care about facts is having whatever opinions you want.

    I appreciate the irony of you making such statement, proudly thinking that your opinion equals fact, and therefore any other opinion is not.

    This discussion is nothing but subjective opinion vs. subjective opinion. Facts are (hopefully, as I can only speak for myself) inputs to both our opinions, but no opinion about "good" or "bad", "nasty" or not can ever be objective. Objective code quality does not exist.

  • The Return of the Frame Pointers
    6 projects | news.ycombinator.com | 17 Mar 2024
    I remember talking to Brendan about the PreserveFramePointer patch during my first months at Netflix in 2015. As of JDK 21, unfortunately it is no longer a general purpose solution for the JVM, because it prevents a fast path being taken for stack thawing for virtual threads: https://github.com/openjdk/jdk/blob/d32ce65781c1d7815a69ceac...
  • JDK-8180450: secondary_super_cache does not scale well
    1 project | news.ycombinator.com | 14 Mar 2024
  • The One Billion Row Challenge
    10 projects | news.ycombinator.com | 3 Jan 2024
  • AVX2 intrinsics for Arrays.sort methods (int, float arrays)
    1 project | news.ycombinator.com | 16 Dec 2023
  • A gentle introduction to two's complement
    1 project | news.ycombinator.com | 23 Nov 2023
  • Java JEP 461: Stream Gatherers
    3 projects | news.ycombinator.com | 3 Nov 2023
    Map doesn't implement the Collection interface.

    https://github.com/openjdk/jdk/blob/master/src/java.base/sha...

  • C++23: Removing garbage collection support
    3 projects | news.ycombinator.com | 1 Nov 2023
    C++ lets you write anything you can imagine, and the language features and standard library often facilitate that. The committee espouses the view that they want to provide many "zero [runtime] cost," abstractions. Anybody can contribute to the language, although the committee process is often slow and can be political, each release the surface area and capability of the language gets larger.

    I believe Hazard Pointers are slated for C++26, and these will add a form "free later, but not quite garbage collection" to the language. There was a talk this year about using hazard pointers to implement a much faster std::shared_ptr.

    It's a language with incredible depth because so many different paradigms have been implemented in it, but also has many pitfalls for new and old users because there are many different ways of solving the same problem.

    I feel that in C++, more than any other language, you need to know the actual implementation under the hood to use it effectively. This means knowing not just what the language specifies, but can occaissionally require knowing what GCC or Clang generate on your particular hardware.

    Many garbage collected languages are written in or have parts of their implementations in C++. See JS (https://github.com/v8/v8)and Java GC (https://github.com/openjdk/jdk/tree/36de19d4622e38b6c00644b0...)

    I am not an expert on Java (or C++), so if someone knows better or can add more please correct me.

What are some alternatives?

When comparing Logback and JDK you can also consider the following projects:

Apache Log4j 2 - Apache Log4j 2 is a versatile, feature-rich, efficient logging API and backend for Java.

Graal - GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀

Logbook - An extensible Java library for HTTP request and response logging

aircraft - The A32NX & A380X Project are community driven open source projects to create free Airbus aircraft in Microsoft Flight Simulator that are as close to reality as possible.

Logstash - Logstash - transport and process your logs, events, or other data

steam-runtime - A runtime environment for Steam applications

tinylog - tinylog is a lightweight logging framework for Java, Kotlin, Scala, and Android

OkHttp - Square’s meticulous HTTP client for the JVM, Android, and GraalVM.

FizzBuzz Enterprise Edition - FizzBuzz Enterprise Edition is a no-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes.

kitten - A statically typed concatenative systems programming language.

graylog - Free and open log management

intellij-community - IntelliJ IDEA Community Edition & IntelliJ Platform