Giter Site home page Giter Site logo

gossip's Introduction

Description

SLF4j Gossip Provider

Build Status DepShield Badge

Features

  • 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

Synopsis

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.

License

Apache 2.0

Optional Dependencies

  • jANSI - For ANSI colored output

Configuration

Configuration of Gossip is handled via standard property files.

The bootstrap configuration attempts to read:

  1. META-INF/com.planet57.gossip/config.properties (as resource)
  2. -Dgossip.configuration (value of as file/url)
  3. ~/.gossip/config.properties (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]
  • com.planet57.gossip.Log.stream = [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.

Building

Requirements

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

Check out and build:

git clone git://github.com/jdillon/gossip.git
cd gossip
./mvnw install

gossip's People

Contributors

jdillon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.