{"id":15951733,"url":"https://github.com/peteruhnak/pharo-sentry","last_synced_at":"2025-10-25T16:10:03.146Z","repository":{"id":93122038,"uuid":"120005356","full_name":"peteruhnak/pharo-sentry","owner":"peteruhnak","description":"Unofficial Pharo SDK for sentry.io","archived":false,"fork":false,"pushed_at":"2022-11-01T18:53:21.000Z","size":1758,"stargazers_count":10,"open_issues_count":2,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-28T05:54:02.925Z","etag":null,"topics":["error-handling","logging","pharo","sentry"],"latest_commit_sha":null,"homepage":null,"language":"Smalltalk","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peteruhnak.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-02T16:36:08.000Z","updated_at":"2023-09-08T17:36:05.000Z","dependencies_parsed_at":"2023-06-05T00:15:42.078Z","dependency_job_id":null,"html_url":"https://github.com/peteruhnak/pharo-sentry","commit_stats":{"total_commits":40,"total_committers":2,"mean_commits":20.0,"dds":"0.050000000000000044","last_synced_commit":"45551198a7f49dfc107b1d8abc3713e1ff339b4e"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peteruhnak%2Fpharo-sentry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peteruhnak%2Fpharo-sentry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peteruhnak%2Fpharo-sentry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peteruhnak%2Fpharo-sentry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peteruhnak","download_url":"https://codeload.github.com/peteruhnak/pharo-sentry/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243893416,"owners_count":20364897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["error-handling","logging","pharo","sentry"],"created_at":"2024-10-07T13:03:55.520Z","updated_at":"2025-10-25T16:09:58.105Z","avatar_url":"https://github.com/peteruhnak.png","language":"Smalltalk","funding_links":[],"categories":[],"sub_categories":[],"readme":"============\r\npharo-sentry\r\n============\r\n\r\n|travis| |coveralls|\r\n\r\n*pharo-sentry* is an unofficial `Pharo \u003chttps://pharo.org/\u003e`_ SDK for `Sentry \u003chttps://sentry.io/welcome/\u003e`_ error tracking platform.\r\n\r\n.. warning::\r\n\r\n  This SDK is still under development and not all Sentry's API is supported yet.\r\n\r\n.. warning::\r\n\r\n  The API of this library is still subject to change.\r\n\r\nFor more in-depth documentation see https://peteruhnak.github.io/pharo-sentry/\r\n\r\nInstallation\r\n============\r\n\r\n.. code-block:: smalltalk\r\n\r\n\tMetacello new\r\n\t\tbaseline: 'Sentry';\r\n\t\trepository: 'github://peteruhnak/pharo-sentry:v1.x/repository';\r\n\t\tload\r\n\r\nBasic Usage\r\n===========\r\n\r\nCapturing an Exception\r\n----------------------\r\n\r\nExceptions are automatically serialized and dispatched:\r\n\r\n.. code-block:: smalltalk\r\n\r\n\tclient := SentryClient dsn: 'https://\u003ckey\u003e@sentry.io/\u003cproject\u003e'.\r\n\r\n\t[ 1 / 0 ] on: ZeroDivide do: [ :ex |\r\n\t\tclient captureException: ex\r\n\t]\r\n\r\nSending a Message\r\n-----------------\r\n\r\nMessages contain arbitrary content that can help you debug your application or collect additional information:\r\n\r\n.. code-block:: smalltalk\r\n\r\n\tclient captureMessage: 'The sun didn''t rise'\r\n\r\nSending Sample Events\r\n---------------------\r\n\r\nTo verify that your everything is configured correctly, you can send sample exceptions and events.\r\nThis can be done either by setting the ``level`` of the event to ``sample``. Or you can use ready-to-use events:\r\n\r\n.. code-block:: smalltalk\r\n\r\n\tclient sendSampleException.\r\n\r\n\tclient sendSampleMessage.\r\n\r\n.. figure:: figures/sentry-sample.png\r\n\r\n\tSample exception in the sentry.io UI\r\n\r\nUsing Beacon\r\n============\r\n\r\n*pharo-sentry* includes a Beacon logger called ``SentryLogger`` that serializes and dispatches exceptions via sentry:\r\n\r\n.. code-block:: smalltalk\r\n\r\n\tSentryLogger new runDuring: [\r\n\t\t[ 1/0 ] on: Exception do: [ :ex | ex emit ]\r\n\t].\r\n\r\nLikewise string-based signals are serialized into sentry messages:\r\n\r\n.. code-block:: smalltalk\r\n\r\n\tSentryLogger start.\r\n\tStringSignal emit: 'test'.\r\n\tSentryLogger stop.\r\n\r\n.. |travis| image:: https://travis-ci.org/peteruhnak/pharo-sentry.svg?branch=master\r\n    :target: https://travis-ci.org/peteruhnak/pharo-sentry\r\n.. |coveralls| image:: https://coveralls.io/repos/github/peteruhnak/pharo-sentry/badge.svg?branch=master\r\n    :target: https://coveralls.io/github/peteruhnak/pharo-sentry?branch=master\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeteruhnak%2Fpharo-sentry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeteruhnak%2Fpharo-sentry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeteruhnak%2Fpharo-sentry/lists"}