Skip to content

Java Util Logging formatter to encode logging events as json events which can consumed by logstash.

License

Notifications You must be signed in to change notification settings

paytronix/JUL-json-layout

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NOTE - This repo has been edited for Paytronix logging

The repo was forked from https://github.com/SYNAXON/logstash-util-formatter, and the source file has been edited. This means that some field names have been changed or removed, and some of the functionality claimed below in this README may not be valid. Changes were made to standardize the format to be consistent with another logging library, and features/fields were removed in order to improve performance.

To build a jar file to use as a dependency in the server code, run:

mvn package

The jar file will be located in the target directory.

Java Util Logging JSON encoder for Logstash

Include as a dependency

First, add it to your project as a dependency.

Maven style:

<dependency>
  <groupId>net.logstash.logging</groupId>
  <artifactId>logstash-util-formatter</artifactId>
  <version>1.0</version>
</dependency>

Use it in your logging.properties like this:

handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.formatter=net.logstash.logging.formatter.LogstashUtilFormatter

Use it in your logstash configuration like this:

input {
  file {
    type => "your-log-type"
    path => "/some/path/to/your/file.log"
    format => "json_event"
  }
}

Example usage in Jenkins on Debian

  • Create a directory in JENKINS_HOME: mkdir /var/lib/jenkins/lib
  • Copy the shaded jar to this directory.
  • Create a logging.properties in /var/lib/jenkins/lib:
handlers= java.util.logging.ConsoleHandler,java.util.logging.FileHandler
.level= INFO

java.util.logging.FileHandler.level = INFO
java.util.logging.FileHandler.formatter = net.logstash.logging.formatter.LogstashUtilFormatter
java.util.logging.FileHandler.pattern = /var/log/jenkins/logstash.log
java.util.logging.FileHandler.limit = 5000000
java.util.logging.FileHandler.count = 1

java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
  • Extend JAVA_ARGS in /etc/default/jenkins:
JAVA_ARGS="$JAVA_ARGS -Djava.endorsed.dirs=$JENKINS_HOME/lib -Djava.util.logging.config.file=$JENKINS_HOME/lib/logging.properties"
JAVA_ARGS="$JAVA_ARGS -Dnet.logstash.logging.formatter.LogstashUtilFormatter.tags=master,mailer"
  • Use it in your logstash configuration like this:
input {
  file {
    type => "jenkins-server"
    path => "/var/log/jenkins/logstash.log"
    format => "json_event"
  }
}
  • By setting the system propery net.logstash.logging.formatter.LogstashUtilFormatter.tags you may easily add tags, which let you differentiate between multiple instances running on the same host.

About

Java Util Logging formatter to encode logging events as json events which can consumed by logstash.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%