{"id":18716400,"url":"https://github.com/novemberfiveco/skidder-android","last_synced_at":"2025-08-05T04:20:58.291Z","repository":{"id":89533388,"uuid":"401722477","full_name":"novemberfiveco/skidder-android","owner":"novemberfiveco","description":"November Five's logging framework for PHP","archived":false,"fork":false,"pushed_at":"2021-08-31T13:56:52.000Z","size":133,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-12-28T10:29:00.168Z","etag":null,"topics":["android","kotlin","logging","logging-framework","logging-library"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/novemberfiveco.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2021-08-31T13:56:19.000Z","updated_at":"2021-08-31T14:24:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"7724cb2b-04f5-468a-99b1-9bbd12ff22ba","html_url":"https://github.com/novemberfiveco/skidder-android","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novemberfiveco%2Fskidder-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novemberfiveco%2Fskidder-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novemberfiveco%2Fskidder-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novemberfiveco%2Fskidder-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/novemberfiveco","download_url":"https://codeload.github.com/novemberfiveco/skidder-android/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239581802,"owners_count":19662958,"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":["android","kotlin","logging","logging-framework","logging-library"],"created_at":"2024-11-07T13:12:34.080Z","updated_at":"2025-02-19T01:41:06.204Z","avatar_url":"https://github.com/novemberfiveco.png","language":"Kotlin","readme":"# Skidder\n\nA small, extensible logger library for Android.\n\n## Usage\n\nRequirement: Kotlin 1.4 or higher\n\n1. Add the dependency in your *app/build.gradle*: \n\n   ```groovy\n   implementation \"co.novemberfive.skidder:skidder:$version\"\n   ```\n\n   **TODO**: add Maven repository\n\n2. add service(s) to Skidder\n\n   ```kotlin\n   if (BuildConfig.DEBUG) {\n       Skidder.addService(LogcatLoggingService(id = \"logcat\", level = LogLevel.DEBUG))\n   }\n   ```\n\n3. set global variables (optional)\n\n   ```kotlin\n   Skidder.apply {\n   \tenvironment = \"UAT\"\n   \tsetGlobal(\"global variable\", \"Testy McTestface\")\n   }\n   ```\n\n4. start logging\n\n   ```kotlin\n   Skidder.log(LogLevel.DEBUG, TAG, message = \"Button was pressed.\")\n   logDebug(TAG, name = \"button-click\", message = \"Button was pressed.\") //shorthand method\n   \n   Skidder.logException(TAG, RuntimeException(\"Oh ow, something went wrong!\"))\n   logException(TAG, RuntimeException(\"It broke, again...\"))\n   \n   //optionally, add extra data\n   Skidder.log(LogLevel.DEBUG, TAG, name = \"button-click\", message = \"Button was pressed.\", data = mapOf(\"id\" to \"555\", \"info\" to \"blablabla\"))\n   ```\n\n## Services\n\nThe core library contains one predefined *service*: the `LogcatLoggingService`, which uses Android's `Log` class, but you can write your own services by extending `ILoggingService`.\n\n### LogcatLoggingService\n\nThe output of the `LogcatLoggingService` will look like this:\n\n```\nco.novemberfive.android.skidder.sample D/MainActivity: button-click - Button Debug was pressed.\n    {\n        \"timeStamp\": 1624364291505,\n        \"level\": \"DEBUG\",\n        \"tag\": \"MainActivity\",\n        \"name\": \"button-click\",\n        \"message\": \"Button was pressed.\",\n        \"environment\": \"UAT\",\n        \"data\": {\n            \"id\": \"555\",\n            \"info\": \"blablabla\"\n        },\n        \"globalVariables\": {\n            \"global variable\": \"test test test\"\n        }\n    }\n```\n\n### Firebase Crashlytics\n\n   ```groovy\n   implementation \"co.novemberfive.skidder:crashlytics:$version\"\n   ```\n\n**TODO**: further explain how to use the CrashlyticsLoggingService\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovemberfiveco%2Fskidder-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnovemberfiveco%2Fskidder-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovemberfiveco%2Fskidder-android/lists"}