SLF4j Gossip Provider
Java Shell Batchfile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.travis Change namespace from org.sonatype to com.planet57 (#1) May 24, 2016
gossip-bootstrap-slf4j update version: TEST-1 May 24, 2016
gossip-core update version: TEST-1 May 24, 2016
gossip-extra update version: TEST-1 May 24, 2016
.travis.yml blah May 25, 2016
build blah May 25, 2016
header.txt Update parent Mar 6, 2016
mvnw Change namespace from org.sonatype to com.planet57 (#1) May 24, 2016
pom.xml update version: TEST-1 May 24, 2016


SLF4j Gossip Provider

Build Status


  • Small footprint ~75k (even smaller for gossip-bootstrap-slf4j ~20k)
  • Profile-based configuration
  • Profile activation triggers
  • Multiple source inputs
  • Console and rolling file listeners
  • ANSI color rendering
  • Internal logging
  • SLF4j support, helpers and utilities


Need a small fast logging provider for SLF4j? Don't want to pull in the kitchen sink with Log4j? Hate JUL?

If you answered yes to any (or all) of the questions above, then Gossip might be the logging provider for you!

If you don't mind some additional byte-code weight, then you should probably look at LOGBack. This is the recommended SLF4j provider when byte-code size is not an issue.

If you think that JUL is the best logging system ever, please exit the universe as soon as possible.


Apache 2.0

Optional Dependencies

  • jANSI - For ANSI colored output


Configuration of Gossip is handled via standard property files.

The bootstrap configuration attempts to read:

  1. META-INF/com.planet57.gossip/ (as resource)
  2. -Dgossip.configuration (value of as file/url)
  3. ~/.gossip/ (as file)

Bootstrap or Internal Logging

Gossip provides some minimal SLF4j components to be used:

  • Before the proper logging was created
  • In environments where only the very basic control over logging is required

The gossip-bootstrap artifact contains, com.planet57.gossip.Log which is a SLF4j LoggerFactory-like class that produces real SLF4j Logger instances. This can be used in cases where the configuration/installation of SLF4j is not ready yet, and can be converted to use the desired SLF4j provider using Log.configure(ILoggerFactory). Gossip internal loggers are delegates, so once the "real" SLF4j provider is configured they will be updated to use the target logging systems Logger implementations.

For users that want to use standard SLF4j but need a little more control over the logging system than slf4j-simple provides, the gossip-bootstrap-slf4j module provides bindings to use the internal Log as a real SLF4j binding.

Log has a few parameters controlled by system properties:

  • com.planet57.gossip.Log.threshold = [TRACE|DEBUG|INFO|WARN|ERROR]
  • com.planet57.gossip.Log.internalThreshold = [TRACE|DEBUG|INFO|WARN|ERROR]
  • = [OUT|ERR]
  • com.planet57.gossip.Log.pattern (see PatternRenderer for details)

In addition, these are configurable runtime via method calls.

Gossip uses this internal logging system when booting up to provide its gossip-slf4j bindings.

Extra Components

To avoid bloating out core with optional/extra components, gossip-extra is here to hold on to stuff which you might want, but which is not required by the core.

General Support and Helpers

In addition to providing SLF4j bindings, Gossip also contains some helpers classes for using SLF4j in general.

These can be found in gossip-support.



  • Maven 3+ (recommend using Maven wrapper scripts provided)
  • Java 5+

Check out and build:

git clone git://
cd gossip
./mvnw install