SLF4J VS Guava

Compare SLF4J vs Guava and see what are their differences.

SLF4J

Simple Logging Facade for Java (by qos-ch)

Guava

Google core libraries for Java (by google)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
SLF4J Guava
23 58
2,257 49,412
1.1% 0.6%
7.8 9.6
17 days ago 3 days ago
Java Java
MIT License Apache License 2.0
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.

SLF4J

Posts with mentions or reviews of SLF4J. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-21.
  • Slf4j.org TLS Certificate Expired
    1 project | news.ycombinator.com | 17 Jun 2023
  • dazl — a facade for configurable/pluggable Go logging
    2 projects | /r/golang | 21 Apr 2023
    A few years ago, my team moved from Java to Go. Working on Go projects, we encountered a wide variety of logging frameworks with different APIs, configuration, and formatting. We soon found ourselves longing for a logging abstraction layer like Java’s slf4j, which had proven invaluable for use in reusable libraries or configuring and debugging production systems. So, not long after moving to Go, we began working toward replacing what we had lost in slf4j.
  • Fargate logging thru console awslogs or directly to Cloudwatch?
    2 projects | /r/aws | 7 Apr 2023
    I'm not familiar with Serilog as I code mostly in Java, use slf4j (logs to stdout) and our apps send logs to Cloudwatch using the task definition's awslogs configuration. I prefer it this way because I can customize the log configurations in my task definitions. Also the default stream name has this format prefix-name/container-name/ecs-task-id so I can easily identify the logs of the task I want to look at. I haven't experienced any downsides with this approach and our apps publish a shit ton of logs. Cloudwatch approach looks like you can customize the stream name?
  • How does Loggers get multiple parameters in functions
    1 project | /r/javahelp | 4 Apr 2023
    slf4j is open source. You can look at the code.
  • Logging in your API
    13 projects | dev.to | 22 Feb 2023
    Java -> Logback, Log4j2, JDK (Java Util Logging), Slf4j, e.t.c.
  • Primeiros passos no desenvolvimento Java em 2023: um guia particular
    13 projects | dev.to | 19 Jan 2023
    slf4j para padronização dos logs;
  • What are some of the biggest problems you personally face in Java?
    6 projects | /r/java | 27 Dec 2022
  • must known frameworks/libs/tech, every senior java developer must know(?)
    6 projects | /r/java | 9 Dec 2022
    SLF4J
  • Go standard library: structured, leveled logging
    11 projects | news.ycombinator.com | 11 Sep 2022
    > My God. Logging in protobuf?

    Yes, or any other data format and/or transport protocol.

    I'm surprised this is up for debate.

    > Logging is the lowest of all debugging utilities - its the first thing you ever do writing software - “hello world”. And, while I admire structural logging, the truth is printing strings remains (truly) the lowest common denominator across software developers.

    This sort of comment is terribly miopic. You can have a logging API, and then configure your logging to transport the events anywhere, any way. This is a terribly basic feature and requirement, and one that comes out of the box with some systems. Check how SLF4J[1] is pervasive in Java, and how any SLF4J implementation offers logging to stdout or a local file as a very specific and basic usecase.

    It turns out that nowadays most developers write software that runs on many computers that aren't stashed over or under their desks, and thus they need efficient and convenient ways to check what's happening either in a node or in all deployments.

    [1] https://www.slf4j.org/

  • Logback en Springboot
    1 project | /r/CharruaDevs | 3 Aug 2022

Guava

Posts with mentions or reviews of Guava. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-23.
  • Lists: do you know the nature of yours? The strange story of a data container in Java
    2 projects | dev.to | 23 Nov 2023
    The first problem is at the level of Type System, given that a situation more correct would allow us to distinguish through the Collection Type which abstraction we are operating with, species if definable as mutable or immutable. The JCF was born at a time when great care was taken to offer immediate operational data structures, and with attention to performance, but with less attention to constructs or uses that are now seen as common. These concepts have been taken up by other infrastructures from which we certainly cannot fail to mention: Eclipse Collection, Guava Collections, and VAVR.
  • Google/guava: Google core libraries for Java
    3 projects | news.ycombinator.com | 8 Nov 2023
    Even better is getting Gradle/Maven to correctly pull "plain" vs "Android" versions of the package instead of them just publishing the diverging code base as two repository packages.

    https://github.com/google/guava/issues/2914

  • Guava 32.0 (released today) and the @Beta annotation
    5 projects | /r/java | 30 May 2023
    I'll admit I'm surprised to see that BOMs have been documented on maven.apache.org since mid-2008. It looks like Spring, for example, didn't adopt them until mid-2014. I don't know how widely they caught on in other areas. The first discussion of them in the context of Guava may have been in 2018, as I don't see mention of them in the various issues from 2011-2015 (#605, #1329, #1471, #1954.
  • Best Practice of Guava ImmutableList
    1 project | /r/learnjava | 8 May 2023
    And a quick peek at the source code for ImmutableList seems to confirm this (https://github.com/google/guava/blob/master/guava/src/com/google/common/collect/ImmutableList.java - it goes via a bunch of methods, but ends up using Arrays.copyOf(), which creates a fixed-size array).
  • Genuine question: how do you all use Haskell IRL?
    7 projects | /r/haskell | 22 Apr 2023
    The guava library of Java has some of these data structures implemented: https://github.com/google/guava/wiki/ImmutableCollectionsExplained , but implementations of the above book in many languages can be found on github (say, this one for Haskell: https://github.com/aistrate/Okasaki )
  • Murmurhash -criando um rollout progressivo via backend
    3 projects | dev.to | 21 Apr 2023
  • Один из примеров почему ChatGPT еще очень далеко до замены программистов, та и остальных профессий тоже.
    7 projects | /r/tjournal_refugees | 13 Apr 2023
    Java Mask: Java Mask is a library that offers various string masking techniques for sensitive data such as credit card numbers, email addresses, and more. You can find the library at: https://github.com/miguelfreitas93/java-mask DataMasker: DataMasker is a Java library specifically designed for masking sensitive data, including credit card numbers, using customizable masking patterns. Visit the GitHub repository for more information and usage examples: https://github.com/GDSSecurity/DataMasker Maskify: Maskify is a simple Java library that can be used to mask credit card numbers, Social Security numbers, and other sensitive information. You can find the library at: https://github.com/jonathancarvalhoalves/maskify CreditCardUtils: This is a lightweight Java library that provides utility methods for validating, formatting, and masking credit card numbers. Visit the GitHub repository for more information: https://github.com/malkusch/creditcardutils Google Guava: Google Guava is a popular set of Java libraries containing a wealth of utilities for working with strings, collections, and more. While not specifically designed for masking credit card information, you can use Guava's string manipulation methods to mask sensitive data: https://github.com/google/guava
  • Twitter makes some of its source code public
    3 projects | /r/Twitter | 2 Apr 2023
    I mean, I guess, technically? If you define it like that, then Microsoft has people working for them for free, as does Google, as does Apple, etc. It's not that weird, and you can try to twist it to be weird, but those of us in the software industry largely regard this as a good thing.
  • Managing unfixable CVEs
    1 project | /r/ExperiencedDevs | 11 Mar 2023
    So we have https://github.com/google/guava/issues/4011
  • Java 17 migration: bias locks regression
    1 project | dev.to | 16 Feb 2023
    Ok, so let's implement our lazy initialization more smartly to avoid acquiring the lock every time and use old fashion but still working double-checked locking. I've found it implemented by Suppliers.memoize in guava library.

What are some alternatives?

When comparing SLF4J and Guava 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.

JGit - JGit project repository (jgit)

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

javatuples - Typesafe representation of tuples in Java.

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

Caffeine - A high performance caching library for Java

kibana - Your window into the Elastic Stack

Eclipse Collections - Eclipse Collections is a collections framework for Java with optimized data structures and a rich, functional and fluent API.

graylog - Free and open log management

Hashids.java - Hashids algorithm v1.0.0 implementation in Java

Logback - The reliable, generic, fast and flexible logging framework for Java.

Gephi - Gephi - The Open Graph Viz Platform