{"id":25433653,"url":"https://github.com/adityabavadekar/pinlog","last_synced_at":"2025-10-14T20:14:48.416Z","repository":{"id":41574503,"uuid":"496559371","full_name":"AdityaBavadekar/PinLog","owner":"AdityaBavadekar","description":"PinLog is an easy-to-use and powerful android Logging Library. It is made by Aditya Bavadekar.  PinLog supports storing logs for later retrieval, saving logs in a file, saving logs in a zip file and more.","archived":false,"fork":false,"pushed_at":"2022-10-22T20:01:01.000Z","size":2241,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-14T19:11:25.648Z","etag":null,"topics":["android","android-debug","android-library","android-logging","debugger","debugging","debuging-tool","kotlin","logging","logging-android","logging-lib","logging-library","pinlog"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AdityaBavadekar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-26T09:33:30.000Z","updated_at":"2024-07-12T16:32:37.000Z","dependencies_parsed_at":"2022-08-30T22:41:01.891Z","dependency_job_id":null,"html_url":"https://github.com/AdityaBavadekar/PinLog","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdityaBavadekar%2FPinLog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdityaBavadekar%2FPinLog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdityaBavadekar%2FPinLog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdityaBavadekar%2FPinLog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdityaBavadekar","download_url":"https://codeload.github.com/AdityaBavadekar/PinLog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254209848,"owners_count":22032897,"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","android-debug","android-library","android-logging","debugger","debugging","debuging-tool","kotlin","logging","logging-android","logging-lib","logging-library","pinlog"],"created_at":"2025-02-17T05:28:35.068Z","updated_at":"2025-10-14T20:14:43.394Z","avatar_url":"https://github.com/AdityaBavadekar.png","language":"Kotlin","readme":"![Latest GitHub release ](https://img.shields.io/github/v/release/adityabavadekar/PinLog?label=PinLog)\n|[**Go to Documentation**](https://adityabavadekar.gitbook.io/pinlog-docs/)|\n|--|\n# What is PinLog?\nUsing PinLog, you can store your logs in a sql database and also save them in a file on android without writing hundreds of lines of code. \n```kt\n//Logs are automatically stored.\nPinLog.logI(\"MainActivity\",\"onCreate\")\n\n//Or create a report which contains \n//PinLogs, applicationInfo, BuildConfig if was \n//provided while initialisation and System logs.\nPinLog.CrashReporter().createReport(thread,exception)\n\n//Get stored logs \nPinLog.getAllPinLogsAsStringList() \n\n//Delete stored logs \nPinLogs.deleteAllPinLogs()\n```\n\nPinLog also supports Uncaught Exception Handling, which you can use like this :\n```kt\nPinLog.setupExceptionHandler(\ntoEmails = arrayOf(\"example@gmail.com\"), \nmessage =\"You can add additional comments \nin this email which may help us a lot.\",\nsubject =  \"Sorry MyApplication crashed, \nwe will try better next time.\")\n```\n\nPinLog is an easy-to-use and powerful android Logging Library. It is made by Aditya Bavadekar.\n\n![](https://github.com/AdityaBavadekar/PinLog/blob/master/icon-512.png)\n\nPinLog supports storing logs for later retrieval, saving logs in a file, saving logs in a zip file and more.\n\nThis project contains two modules i.e libraries namely  `pinlog` the main library and `pinlog-activity` the extension library.\nThe main library does not depend on the other library, so you can use it directly from dependency.\n\n# What is pinlog-activity?\nPinLog-Activity is\nan extension library for PinLog usefull for debuging and finding bug by isolation of logs. \n \nMany times we have to debug apps by connecting the android \ndevice to pc just to view the logs from logcat.\n\nPinlog-activity is an on-device app which is installed \nwith your application. When you open it you can\nsee all the pinlogs added by your app. You can\nfilter the logs according to their TAG property \nor sort them. You can also export all logs to a file with it.\n\n\n\n### Screenshots of `pinlog-activity` library\n\n|![](/Screenshot_20220604-163925.png)|![](Screenshot_20220604-164142_AdvanceLog.jpg)|\n|---|---|\n\n# Latest version\nFor the latest version and a complete changelog, please see the Release page.\n# Download\nYou can download a aar or .zip rom this repositor's releases page.\n\nOr you can clone the whole repository with \n```bash\ngit clone https://github.com/AdityaBavadekar/PinLog\n```\n\n# Implementation \n\n### Using Gradle : \n\u003e Add `maven{  }` in your build.gradle(project)\n```gradle\nallprojects {\n    repositories {\n      //Add this `maven` block\n      maven { url 'https://jitpack.io' }\n    }\n}\n```\n\u003e Add the dependency\n ![TAG](https://jitpack.io/v/AdityaBavadekar/PinLog.svg)\n```gradle\ndependencies {\n     // Refer the above badge for latest `TAG`.\n    implementation 'com.github.AdityaBavadekar.PinLog:pinlog:TAG'\n    //Or if you want a DebugLogsActivity for \n    //your app which shows list of logs add this instead\n    debugImplementation 'com.github.AdityaBavadekar.PinLog:pinlog-activity:TAG'\n    \n}\n```\n### Using Maven : \n\u003e Add `repository`\n```xml\n\t\u003crepositories\u003e\n\t\t\u003crepository\u003e\n\t\t    \u003cid\u003ejitpack.io\u003c/id\u003e\n\t\t    \u003curl\u003ehttps://jitpack.io\u003c/url\u003e\n\t\t\u003c/repository\u003e\n\t\u003c/repositories\u003e\n```\n\u003e Add the dependency\n![TAG](https://jitpack.io/v/AdityaBavadekar/PinLog.svg)\n```xml\n\t\u003cdependency\u003e\n\t    \u003cgroupId\u003ecom.github.AdityaBavadekar.PinLog\u003c/groupId\u003e\n\t    \u003cartifactId\u003epinlog\u003c/artifactId\u003e\n\t    \u003cversion\u003eTAG\u003c/version\u003e\n\t\u003c/dependency\u003e\n```\n\n```xml\n\u003c!--Or if you want a DebugLogsActivity for \n     your app which shows list of logs add this instead--\u003e\n\t\u003cdependency\u003e\n\t    \u003cgroupId\u003ecom.github.AdityaBavadekar.PinLog\u003c/groupId\u003e\n\t    \u003cartifactId\u003epinlog-activity\u003c/artifactId\u003e\n\t    \u003cversion\u003eTAG\u003c/version\u003e\n\t\u003c/dependency\u003e\n```\n\n# How do I use PinLog?\n\n### Initialisation\n - PinLog should be initialised in the Application Class :\n```kotlin\nclass App : Application() {\n\n    override fun onCreate() {\n        super.onCreate()\n\n         PinLog.initialise(this)\n         PinLog.setDevLogging(true)//Optional\n         PinLog.setBuildConfigClass(BuildConfig::class.java)//Optional\n    }\n\n}\n```\n*OR*\n```kotlin\n //For Debuggable Builds\n PinLog.initialiseDebug(this@App)\n\n //For Release Builds\n PinLog.initialiseRelease(this@App)\n```\n\n### Usage\n```kotlin\n\nclass MainActivity : AppCompatActivity() {\n\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_main)\n        logI(\"onCreate\")\n        logW(\"This is a warning\")\n        logE(\"This is a error\")\n        logD(\"This is a debug log\")\n        //OR\n        PinLog.logI(\"MainActivity\",\"onCreate\")\n        PinLog.logW(\"MainActivity\",\"This is a warning\")\n        PinLog.logE(\"MainActivity\",\"This is a error\")\n        PinLog.logD(\"MainActivity\",\"This is a debug log\")\n\n        //Get stored logs\n        PinLog.getAllPinLogsAsStringList()\n        //Delete stored logs\n        PinLogs.deleteAllPinLogs()\n\n    }\n\n}\n```\n\n\nYou can customise the log format \nby extending [`LoggingStyle`](https://github.com/AdityaBavadekar/PinLog/blob/master/pinlog/src/main/java/com/adityaamolbavadekar/pinlog/LoggingStyle.kt) class and \nconfiguring it with PinLog by calling \n\n```kt\nPinLog.setLogFormatting(myCustomLoggingStyle)\n```\n\n\nBut the default implementation that is in \nthe class called as [`DefaultApplicationLoggingStyle`](https://github.com/AdityaBavadekar/PinLog/blob/master/pinlog/src/main/java/com/adityaamolbavadekar/pinlog/DefaultApplicationLoggingStyle.kt)\nWhich has output similar to this line.\n```\nVr/[0.0.1-debug] Mon Jul 04 14:13:44 GMT+05:30 2022/ D/AuthFragment : onPause\n```\n\n# Documentation\nA complete documentation is available [here](https://adityabavadekar.gitbook.io/pinlog-docs/).\n\n# Sample\nA sample called Pinlog Sample `pinlogsample` is included in the source, which\ndemonstrates common and simple usage of PinLog library. \nYou can find debug-apks for same app in the latest relaeses.\n\n|[View Sample App](https://github.com/AdityaBavadekar/PinLog/blob/master/pinlogsample)|[Download Sample App](https://github.com/AdityaBavadekar/PinLog/releases/latest)|\n|--|--|\n\n# Dependencies used \nFollowing are dependencies that were used for `pinlog-activity` module.\n- Kotlin Coroutines \n- Recyclerview\n\n# Author\n[@Aditya Bavadekar](https://github.com/AdityaBavadekar) on GitHub \n\n# Licence\n\n```\n\n   Copyright 2022 Aditya Bavadekar\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadityabavadekar%2Fpinlog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadityabavadekar%2Fpinlog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadityabavadekar%2Fpinlog/lists"}