https://github.com/workable/honeybadger-java
Java clients to report errors in Honeybadger
https://github.com/workable/honeybadger-java
Last synced: 8 months ago
JSON representation
Java clients to report errors in Honeybadger
- Host: GitHub
- URL: https://github.com/workable/honeybadger-java
- Owner: Workable
- Created: 2014-12-05T11:19:58.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-04-12T15:16:24.000Z (almost 2 years ago)
- Last Synced: 2025-01-20T15:22:28.716Z (about 1 year ago)
- Language: Java
- Size: 85 KB
- Stars: 0
- Watchers: 70
- Forks: 2
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Honeybadger-java
*Java client to report exceptions to [Honeybadger.io](https://www.honeybadger.io)*
Exceptions can be captured and dispatched in Honeybadger with the following methods:
- registering a specific [Thread.UncaughtExceptionHandler](https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.UncaughtExceptionHandler.html)
- registering a custom [Filter](http://docs.oracle.com/javaee/7/api/javax/servlet/Filter.html) for web applications
- appending events in [log4j](https://logging.apache.org/log4j/1.2/) using the [honeybadger-log4j-appender](honeybadger-log4j-appender)
## Usage
### Standalone
A typical stand-alone implementation may look like:
```java
import com.workable.honeybadger.HoneybadgerUncaughtExceptionHandler;
public static void main(String argv[]) {
HoneybadgerUncaughtExceptionHandler.registerAsUncaughtExceptionHandler();
// The rest of the application goes here
}
```
The following system properties should be set to enable error dispatching:
System Properties:
- honeybadger.api_key - set this to the (typically 8 character) API key displayed on your Honeybadger interface
- honeybadger.excluded_sys_props - a comma delinated list of system property
keys to exclude from being reported to Honeybadger. This allows you to prevent
passwords and other sensitive information from being sent.
- honeybadger.excluded_exception_classes - a comma delimited list of fully formed
class names that will be excluded from error reporting.
- JAVA_ENV / ENV - set this to configure the application's running environment
### In a servlet container
A servlet based implemantion may look like:
In your web.xml file:
```xml
HoneybadgerFilter
com.workable.honeybadger.servlet.HoneybadgerFilter
honeybadger.api_key
API KEY GOES HERE
honeybadger.excluded_sys_props
bonecp.password,bonecp.username
honeybadger.excluded_exception_classes
org.apache.catalina.connector.ClientAbortException
HoneybadgerFilter
/*
```
### Log4J
A typical log4j properties may look like:
```properties
log4j.rootLogger=ALL, ConsoleAppender, HoneybadgerAppender
log4j.appender.HoneybadgerAppender=com.workable.honeybadger.log4j.HoneybadgerAppender
log4j.appender.HoneybadgerAppender.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.HoneybadgerAppender.layout.ConversionPattern=[%-5p] %c - %m%n%throwable{none}
log4j.appender.HoneybadgerAppender.threshold=ERROR
log4j.appender.HoneybadgerAppender.apiKey=XXXXXXXX
log4j.appender.HoneybadgerAppender.async=true
log4j.appender.HoneybadgerAppender.maxThreads=1
log4j.appender.HoneybadgerAppender.queueSize=50000
log4j.appender.HoneybadgerAppender.priority=1
log4j.appender.ConsoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.ConsoleAppender.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.ConsoleAppender.layout.ConversionPattern=[WORKABLE] [%-5p] %c - %m%n%throwable{none}
```
### Logback
A typical logback.xml may look like:
```xml
%-4relative [%thread] %-5level %logger{35} - %msg %n
%-4relative [%thread] %-5level %logger{35} - %msg %n
```