Skip to content

storecove/rollbar-scala

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rollbar-scala

Travis master branch Gitter GitHub release GitHub issues GitHub license

Notifier library for integrating Scala apps with the Rollbar service.

Installation

You can find both scala 2.10 & 2.11 versions on the Central Repository.

We are distributing a non-fat JAR, so you will need to include in your project also this library dependencies (which are few and lightweight!).

For SBT:

libraryDependencies ++= Seq(
    "com.storecove" %% "rollbar-scala" % "1.0",
    "net.databinder.dispatch" %% "dispatch-core" % "0.11.2",
    "org.json4s" %% "json4s-jackson" % "3.2.11",
    "org.slf4j" % "slf4j-api" % "1.7.12"
)

In addition to these, you will need also an SLF4J logger implementation.

This library ships with concrete Rollbar appenders for both Log4j and Logback, so (if you haven't already done it) add one of them to your dependencies.

Setup

You can implement your own appender or use the notifier as it is by getting a RollbarNotifier from a RollbarNotifierFactory. Then you can use the notify() method to send a payload to the Rollbar service.

Or else you can use one of the default appenders (configuration examples follows).

Log4j

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="false" xmlns:log4j="http://jakarta.apache.org/log4j/"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     xsi:schemaLocation="http://jakarta.apache.org/log4j/ ">

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %C:%L - %m%n" />
        </layout>
    </appender>

    <appender name="ROLLBAR" class="com.storecove.rollbar.appenders.Log4jAppender">
        <param name="enabled" value="true"/>
        <param name="apiKey" value="${ROLLBAR_API_KEY}"/>
        <param name="environment" value="${ROLLBAR_ENV}"/>
        <param name="onlyThrowable" value="false" />
        <param name="notifyLevel" value="INFO" />
        <param name="limit" value="1000" />
        <param name="url" value="https://api.rollbar.com/api/1/item/" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %C:%L - %m%n" />
        </layout>
    </appender>

    <root>
        <level value="${LOG_LEVEL}"/>
        <appender-ref ref="console"/>
        <appender-ref ref="ROLLBAR"/>
    </root>
</log4j:configuration>

Logback

<configuration debug="true">
    <property file="${storecove_logging_file}" />

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}:%L - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="ROLLBAR" class="com.storecove.rollbar.appenders.LogbackAppender">
        <enabled>true</enabled>
        <apiKey>${ROLLBAR_API_KEY}</apiKey>
        <environment>${ROLLBAR_ENV}</environment>
        <onlyThrowable>false</onlyThrowable>
        <notifyLevel>INFO</notifyLevel>
    </appender>

    <root level="${LOG_LEVEL}">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="ROLLBAR"/>
    </root>
</configuration>

About

Notifier library for integrating Scala apps with the Rollbar service.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages