Skip to content

Latest commit

 

History

History
88 lines (71 loc) · 2.09 KB

README.md

File metadata and controls

88 lines (71 loc) · 2.09 KB

raven-lua

Build Status

A small Lua interface to Sentry that also has a helpful wrapper function call() that takes any arbitrary Lua function (with arguments) and executes it, traps any errors and reports it automatically to Sentry.

Synopsis

    local raven = require "raven"

    -- http://pub:[email protected]:8080/sentry/proj-id
    local rvn = raven:new("http://pub:[email protected]:8080/sentry/proj-id", {
       tags = { foo = "bar" },
    })

    -- Send a message to sentry
    local id, err = rvn:captureMessage(
      "Sentry is a realtime event logging and aggregation platform.",
      { tags = { abc = "def" } } -- optional
    )
    if not id then
       print(err)
    end

    -- Send a message to sentry aggregated by first string in message table with rest as parameters
    local msg = {"%s is %s", "Sentry", "realtime event logging and aggregation platform."}
    local id, err = rvn:captureMessage(
      msg,
      { tags = { abc = "def" } } -- optional
    )
    if not id then
       print(err)
    end

    -- Send an exception to sentry
    local exception = {{
       ["type"]= "SyntaxError",
       ["value"]= "Wattttt!",
       ["module"]= "__builtins__"
    }}
    local id, err = rvn:captureException(
       exception,
       { tags = { abc = "def" } } -- optional
    )
    if not id then
       print(err)
    end

    -- Catch an exception and send it to sentry
    function bad_func(n)
       return not_defined_func(n)
    end

    -- variable 'ok' should be false, and an exception will be sent to sentry
    local ok = rvn:call(bad_func, 1)

Documents

See docs/index.html for more details.

Prerequisites

To run the tests:

    luarocks install lunit
    luarocks install lua-cjson
    luarocks install luaposix
    luarocks install luasocket
    luarocks install luasec

    lunit tests/*.lua

To generate the docs:

    luarocks install ldoc

    ldoc raven.lua -d docs -p raven-lua