Class: Condux::Client
- Inherits:
-
Object
- Object
- Condux::Client
- Defined in:
- lib/condux/client.rb
Overview
A configured reporter. Cheap to hold for the process lifetime; safe for concurrent use.
Constant Summary collapse
- DEFAULT_MAX_RETRIES =
3
Instance Method Summary collapse
-
#capture_exception(error, handled: true, request: nil, tags: nil) ⇒ Object
request(url/method/query_string) andtagsdescribe this one event. - #capture_message(message, level, request: nil, tags: nil) ⇒ Object
-
#initialize(dsn:, environment:, release:, max_retries:, transport:, sleep:, clock:) ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize(dsn:, environment:, release:, max_retries:, transport:, sleep:, clock:) ⇒ Client
Returns a new instance of Client.
16 17 18 19 20 21 22 |
# File 'lib/condux/client.rb', line 16 def initialize(dsn:, environment:, release:, max_retries:, transport:, sleep:, clock:) parsed = Dsn.parse(dsn) @transport = EventTransport.new(parsed.store_url, parsed.public_key, max_retries, transport, sleep) @environment = environment @release = release @clock = clock || -> { Time.now } end |
Instance Method Details
#capture_exception(error, handled: true, request: nil, tags: nil) ⇒ Object
request (url/method/query_string) and tags describe this one event. They are passed here
rather than set on the scope because scope state outlives the call: on a server handling requests
concurrently, request detail set ambiently attaches to whichever event is captured next, which may
belong to a different request.
28 29 30 31 |
# File 'lib/condux/client.rb', line 28 def capture_exception(error, handled: true, request: nil, tags: nil) dispatch(level: Level::ERROR, exception: EventPayload.exception(error, handled: handled), request: request, tags: ) end |
#capture_message(message, level, request: nil, tags: nil) ⇒ Object
33 34 35 |
# File 'lib/condux/client.rb', line 33 def (, level, request: nil, tags: nil) dispatch(level: level, message: , request: request, tags: ) end |