{"id":15400467,"url":"https://github.com/romainthomas/dumplog","last_synced_at":"2025-04-16T02:25:10.225Z","repository":{"id":89925407,"uuid":"115138811","full_name":"romainthomas/dumplog","owner":"romainthomas","description":"Android log utility","archived":false,"fork":false,"pushed_at":"2017-12-22T18:10:16.000Z","size":1059,"stargazers_count":11,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T04:11:18.240Z","etag":null,"topics":["android","development","reverse-engineering"],"latest_commit_sha":null,"homepage":null,"language":"C++","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/romainthomas.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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-22T18:00:34.000Z","updated_at":"2024-11-14T15:12:58.000Z","dependencies_parsed_at":"2023-05-30T13:30:33.722Z","dependency_job_id":null,"html_url":"https://github.com/romainthomas/dumplog","commit_stats":{"total_commits":1,"total_committers":1,"mean_commits":1.0,"dds":0.0,"last_synced_commit":"68064015f5b8c7355934ff30ad208fdb260caa39"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romainthomas%2Fdumplog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romainthomas%2Fdumplog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romainthomas%2Fdumplog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romainthomas%2Fdumplog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/romainthomas","download_url":"https://codeload.github.com/romainthomas/dumplog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249183948,"owners_count":21226275,"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","development","reverse-engineering"],"created_at":"2024-10-01T15:53:59.800Z","updated_at":"2025-04-16T02:25:10.207Z","avatar_url":"https://github.com/romainthomas.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Android Dumplog\n===============\n\nAndroid dumplog is a utility to:\n\n  1. Filter android logs by package name (e.g. ``com.google.*``) - **Require root**\n  2. Serialize output log in JSON\n\nPre-compiled binaries can be found in the ``bin`` directory\n\nExamples\n========\n\nFilter by package name\n----------------------\n\nOnly log ouput from ``com.google.android.youtube``:\n\n```bash\n$ adb shell dumplog -f com.google.android.youtube:V\n```\n\nOutput:\n```bash\nmain: 12-22 17:14:2 /system/bin/app_process64 com.google.android.youtube 11733 I qtaguid Tagging socket -1 with tag 0{0,0} uid -1, pid: 11582, getuid(): 10169\nmain: 12-22 17:14:2 /system/bin/app_process64 com.google.android.youtube 11733 I qtaguid Failed write_ctrl(t -1 0 -1) res=-1 errno=9\nmain: 12-22 17:14:2 /system/bin/app_process64 com.google.android.youtube 11733 I qtaguid Tagging socket -1 with tag 0(0) for uid -1 failed errno=-9\nmain: 12-22 17:14:2 /system/bin/app_process64 com.google.android.youtube 11733 I NetworkManagementSocketTagger tagSocketFd(-1, 0, -1) failed with errno-9\nmain: 12-22 17:14:2 /system/bin/app_process64 com.google.android.youtube 11733 I qtaguid Untagging socket -1\nmain: 12-22 17:14:2 /system/bin/app_process64 com.google.android.youtube 11733 I qtaguid Failed write_ctrl(u -1) res=-1 errno=9\nmain: 12-22 17:14:2 /system/bin/app_process64 com.google.android.youtube 11733 I qtaguid Untagging socket -1 failed errno=-9\nmain: 12-22 17:14:2 /system/bin/app_process64 com.google.android.youtube 11733 W NetworkManagementSocketTagger untagSocket(-1) failed with errno -9\nmain: 12-22 17:14:2 /system/bin/app_process64 com.google.android.youtube 11733 I System.out Thread-1158 calls detatch()\nmain: 12-22 17:14:2 /system/bin/app_process64 com.google.android.youtube 11582 I Timeline Timeline: Activity_idle id: android.os.BinderProxy@f4a0f1b time:8202654\n```\n\nSave to JSON\n------------\n\nSave log from packages starting with ``com.google`` into ``com_google.json``:\n\n```bash\n$ adb shell dumplog -o /data/local/tmp/com_google.json -f com.google:V\n```\n\nOutput of ``com_google.json``:\n\n```json\n...\n  {\n    \"command\": \"com.google.android.gms.persistent\",\n    \"device\": \"main\",\n    \"executable\": \"/system/bin/app_process64\",\n    \"message\": \"Invalid task was provided to stopTracking.\",\n    \"nsec\": 251434303,\n    \"pid\": 4459,\n    \"priority\": \"W\",\n    \"sec\": 1513959708,\n    \"tag\": \"ContentTaskController\",\n    \"tid\": 4459\n  },\n  {\n    \"command\": \"com.google.android.youtube\",\n    \"device\": \"main\",\n    \"executable\": \"/system/bin/app_process64\",\n    \"message\": \"Failed write_ctrl(u -1) res=-1 errno=9\",\n    \"nsec\": 311434110,\n    \"pid\": 11582,\n    \"priority\": \"I\",\n    \"sec\": 1513959302,\n    \"tag\": \"qtaguid\",\n    \"tid\": 11685\n  },\n...\n```\n\n\nUsage\n=====\n\n```bash\n./dumplog [log-devices...] {OPTIONS}\n\n  ./dumplog\n\nOPTIONS:\n\n    -h, --help                        Display this help menu\n    -o[filename], --output=[filename] Log to file (JSON format)\n    -d, --dont-block                  Dump the log and then exit (don't block)\n    -f[filters...],\n    --filter=[filters...]             List of tags to monitor\n    log-devices...                    Device sources (e.g. main, system,\n                                      radio ...)\n    \"--\" can be used to terminate flag options and force all following\n    arguments to be treated as positional options\n\n```\n\nCompilation\n===========\n\n```bash\n$ ANDROID_NDK=\u003cPATH TO NDK\u003e ./generate.sh\n```\n\nSee the ``generate.sh`` file for more information\n\n\nAcknowledgements\n================\n\nDumplog makes use of the following open source projects:\n\n * json - https://github.com/nlohmann/json - MIT\n * args - https://github.com/Taywee/args - MIT\n\nAuthors\n=======\n\nRomain Thomas ([@rh0main](https://twitter.com/rh0main))\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromainthomas%2Fdumplog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromainthomas%2Fdumplog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromainthomas%2Fdumplog/lists"}