Logback
JDK
Logback | JDK | |
---|---|---|
20 | 193 | |
2,897 | 18,442 | |
0.5% | 1.4% | |
8.9 | 10.0 | |
6 days ago | 3 days ago | |
Java | Java | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
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
- JHipster 8 - Analisando o código da nossa primeira aplicação monolítica - Parte 1/3
-
Logging in your API
Java -> Logback, Log4j2, JDK (Java Util Logging), Slf4j, e.t.c.
-
Spring Boot logging with Loki, Promtail, and Grafana (Loki stack)
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
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
> 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
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 🤖
- Creating an interface
-
How to Check if a Java Project Depends on A Vulnerable Version of Log4j
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
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).
JDK
- Intel submitted OpenJDK PRs for supporting new 64 bit general purpose registers
-
Show HN: I Built a Java IDE for iPad
I felt out of the loop, thinking that Zero VM was some kind of new distro for OpenJDK but chasing <https://packages.debian.org/sid/openjdk-22-jre-zero#:~:text=...> to <https://sources.debian.org/src/openjdk-11/11.0.23%2B9-1/debi...> lead me to https://github.com/openjdk/jdk/tree/jdk-22-ga/src/hotspot/cp...
It seems that it's a specific CPU target for the Hotspot JIT for non-mainstream architectures (or for research purposes, as I saw mentioned once)
- JEP draft: Exception handling in switch
-
Java 23: The New Features Are Officially Announced
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
> 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
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
- The One Billion Row Challenge
- AVX2 intrinsics for Arrays.sort methods (int, float arrays)
- A gentle introduction to two's complement
What are some alternatives?
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