Giter VIP home page Giter VIP logo

logcatreader's Introduction

Logcat Reader Build Status

A simple app for viewing logs on an android device.

Get it on F-Droid Get it on Google Play

Screenshots

Usage

Use ADB to grant android.permission.READ_LOGS to LogCatReader.

adb shell "pm grant com.dp.logcatapp android.permission.READ_LOGS && am force-stop com.dp.logcatapp"

Contributing

Pull requests are welcome! Please use Square's code style for formatting. 🙏

logcatreader's People

Contributors

akilesh-t avatar darshanparajuli avatar elmurzaev avatar lipilee avatar michaelsam94 avatar poussinou avatar princekelly1 avatar proninyaroslav avatar solokot avatar wangxiaoeryah avatar zik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

logcatreader's Issues

Exclude events by tag

I think it would be useful if we could create a blacklist or simply exclude messages by their tag. I have some common messages from sources that I don't need or want to see, which end up clogging recording session.

Thank you!

please put app/uid/.../message on the same line in export, to make filtering easier

A lot of people simply grep the logcat file for the affected app or uid when they want to report a bug. Could you please make LogcatReader put the app and the actual message on the same line in the exported file?

Current format:
[04-07 17:26:28.915 14142:14167 I/Adreno]
QUALCOMM build : 2371bd1, I8ebe47d372
Build Date : 03/12/18

Suggested format:
[04-07 17:26:28.915 14142:14167 I/Adreno] QUALCOMM build : 2371bd1, I8ebe47d372
[04-07 17:26:28.915 14142:14167 I/Adreno] Build Date : 03/12/18

Would you support a F-Droid store inclusion?

Thanks for your awesome app, and especially for publishing the source code.

I think it would be great to see your app in the F-Droid store and made an request for packaging, already here.
Would this be OK for you and would you support the inclusion?

Crashes on Android 11

I used to use this app but when I updated to an Android 11 custom ROM the app now crashes immediately upon opening. I checked the reviews and it seems there is at least one other person who has mentioned Android 11 being the cause of this crash.

Android crash log url: https://del.dog/ecrockebuc

Typo in strings.xml

In /app/src/main/res/values-zh-rCN/strings.xml line 90, the Chinese translation of 'clear' is '清除' not '清楚'.

This only needs to be done once

when doing the manual, non root method to give permissions through adb, when it says it only needs to be done once, does this mean it needs to be done once but if the phone is restarted, or goes to the lockscreen, it kills it and needs to be done again the next time you use the app?

or is it persistent and doesn't need a connection to adb ever again, and can just read logs straight off the device?
(non root, android 10)

Stop logcat reader service

Maybe this is a bug or maybe only a stupid question: after using logcat reader I retain a notification saying "logcat reader service". Does this mean the service keeps running? Is there a way to stop it other than force stop the app? A menu option like "Exit" would be good. After viewing logs I often do not use the app for weeks and it feels odd to leave the service running when it's not needed (like for battery life etc).

Feature - Copy Whole Entry

I want to copy the whole logcat entry. It is overly tedious to copy each part individually, pasting one before going to the next, so I end up saving the log, then copying from that.

Suggest usable file name when saving log file somewhere

TLDR: when saving a "saved log" somewhere else, an empty file name is suggested as new file name (rather than eg. the "logcat_timestamp.txt" name).

Long description: I saved the current log with Menu -> Save, then went to "Saved Logs", long-pressed on the new entry, and hit the "disk" icon. A save dialog appeared, with a text entry field at the bottom (next to the "Save" button). The text entry field was empty. When hitting Save, the log was saved in a file named "(invalid).txt".

I would suggest to pre-fill the text field with the log file name shown in the Saved Logs list instead.

This happened with Logcat Reader 1.5.4 from F-Droid under Android 7.1.2 (LineageOS 14.1).

Android 13 `SecurityException` while executing `pm grant ...`

When I try to execute adb shell pm grant com.dp.logcatapp android.permission.READ_LOGS I get the following exception with the stack trace below

Exception occurred while executing 'grant':
java.lang.SecurityException: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS.
	at android.app.ContextImpl.enforce(ContextImpl.java:2253)
	at android.app.ContextImpl.enforceCallingOrSelfPermission(ContextImpl.java:2281)
	at com.android.server.pm.permission.PermissionManagerServiceImpl.grantRuntimePermissionInternal(PermissionManagerServiceImpl.java:1359)
	at com.android.server.pm.permission.PermissionManagerServiceImpl.grantRuntimePermission(PermissionManagerServiceImpl.java:1341)
	at com.android.server.pm.permission.PermissionManagerService.grantRuntimePermission(PermissionManagerService.java:553)
	at android.permission.PermissionManager.grantRuntimePermission(PermissionManager.java:597)
	at com.android.server.pm.PackageManagerShellCommand.runGrantRevokePermission(PackageManagerShellCommand.java:2591)
	at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:302)
	at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
	at android.os.ShellCommand.exec(ShellCommand.java:38)
	at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onShellCommand(PackageManagerService.java:6332)
	at android.os.Binder.shellCommand(Binder.java:1073)
	at android.os.Binder.onTransact(Binder.java:901)
	at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4313)
	at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onTransact(PackageManagerService.java:6316)
	at android.os.Binder.execTransactInternal(Binder.java:1331)
	at android.os.Binder.execTransact(Binder.java:1268)

Feature - Exit from app menu

Some android swipe down menus aren't good at showing buttons, so I have to use "force stop app" when I'm finished using this app. Please include an exit button by the restart button in the app interface! Thanks

Screenshot_20200804-023837

[FR] Suggest to share the log after the record

Hi,
When using the Record button we have to go to the Saved logs screen and long press a file to be able to share it.
A direct option to share it right after the record would be appreciated.
Thanks.

Search: Retain search value onResume

Hey, thanks for a great app!

I've noticed the below behavior:

  1. Open the app, search for something:

  1. Use the Recents button to go to another app or the Home button to go to the launcher
  2. Use the Recents button to turn back into the app
  3. The app will retain the search view and the search value but the results will be different:

  1. Pressing "Enter" into the search text box won't refresh the results. You need to delete everything, then re-type, then press "Enter" again to get the same results as before onResume.

Logcat standard output format different from Logcat Reader output format

Hi!

I have just noticed that your app is outputting logs in a slightly different format that the one specified on Android Developer website: https://developer.android.com/studio/debug/am-logcat#format

There it is described as
date time PID-TID/package priority/tag: message

Outputted from your app, it seems like it is rather
[date time PID:TID priority/tag]
message

Is there something I am missing in the official documentation?

Change log

You should add a changelog file or simply specified the changes between each version in the release tab on Github.

Feature Request: Start logging and saving immediately.

I can't use this app for the one use case that I need- to inspect the logs after a system crash. The reason is because to save you need to press Start and then Stop again. When the OS crashes I need to inspect the log and find out why but I can't because there is no opportunity to save the log after a crash.

I request you allow the user to press start logging and this will save the log results to a file right away.

[suggestion] could you merge a shuzuku support

shizuku is a tool for using some operations in only ADB permission, details: https://shizuku.rikka.app/

if the user has uses shizuku, then he could use Logcatapp without adb command again

then i made the support for this tool (this commit might have api level requirement, might not. worked as expected on AOSP Android 10): https://github.com/NewBugger/LogcatReader/commit/95ce84b41cc424b97935a7a2140ba14817733449

i did not create pull request because i thought my code is not the fimiliar style as yours.

thanks all yours credits.

'Stuck' at a specific point

Hi there,
The title itself says my issue. When I open the app it doesn't shows any logs just blank. I gave READ_LOGS permission using adb as my device ( android 6 ) is not rooted. But when I put the app in background and come back after a while, the logs becomes visible and stucks around there.
It was just working fine before the updates.

Anyway love your work man !

Security exception when trying to grant

Security exception: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS.

Phone: Redmi Note 8 Pro, Android 9

java.lang.SecurityException

My device is a Redmi Note 10 Pro with android 12. Activated all USB debugging options on developer mode.
I tried to use the command to grant the permissions to LogcatReader, and got the exception message above.

"Exception occurred while executing 'grant': java.lang.SecurityException: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS.
at android.app.ContextImpl.enforce(Unknown Source:97)
at android.app.ContextImpl.enforceCallingOrSelfPermission(Unknown Source:13)
at com.android.server.pm.permission.PermissionManagerService.grantRuntimePermissionInternal(Unknown Source:49)
at com.android.server.pm.permission.PermissionManagerService.grantRuntimePermission(Unknown Source:24)
at android.permission.PermissionManager.grantRuntimePermission(Unknown Source:6)
at com.android.server.pm.PackageManagerShellCommand.runGrantRevokePermission(Unknown Source:75)
at com.android.server.pm.PackageManagerShellCommand.onCommand(Unknown Source:955)
at com.android.modules.utils.BasicShellCommandHandler.exec(Unknown Source:27)
at android.os.ShellCommand.exec(Unknown Source:4)
at com.android.server.pm.PackageManagerService.onShellCommand(Unknown Source:20)
at android.os.Binder.shellCommand(Unknown Source:0)
at android.os.Binder.onTransact(Unknown Source:148)
at android.content.pm.IPackageManager$Stub.onTransact(Unknown Source:17)
at com.android.server.pm.PackageManagerService.onTransact(Unknown Source:0)
at android.os.Binder.execTransactInternal(Unknown Source:118)
at android.os.Binder.execTransact(Unknown Source:16)"

Filter `LOG LEVEL` semantics contradictory

The dialog to add a new filter allows to select among multiple LOG LEVEL constraints, which -- judging by the result -- are applied conjunctively (conjoined by a logical AND). This doesn't make sense, as selecting more than one will inevitably result in mismatching all.

I suppose the only "proper" solution is generalizing Filters (and Exclusions, to which this should also apply) to allow both AND and OR. Suggestion: In the spirit of boolean algebra associativity, maybe have list items be conjoined by OR whereas each list item can hold all of the fields, which are in turn conjoined by AND.

Very useful app, by the way, thanks!

Load logcats from external location taken with adb

Sometimes I need to read a logcat that has been taken with ADB (e.g: An user took a logcat with ADB and sent it to me). So it would be nice if there's an option to read/open these log files taken from ADB.

LogcatReader + logback (or other logging framework)

LogcatReader best view logging UI.
Pls make broadcast listener and create logger appender.
logback send logging message you appender, appender send app log in broadcast message, LogcatReader view this log!
Push appender in maven or bintray.
PROFIT.
Sometimes there is not enough opportunity to show the customer application logs. (Не уверен что правильно донес мысль этого предложения. Продублирую на русском: Иногда не хватает возможности показать заказчику логи приложения. Можно конечно настроить logback логирование в файл. Но иногда хочется наглядного отображения логов.)

Renaming breaks the concerned log

Steps:

  • open the app
  • hit "save"
  • saved logs
  • go to the lasts
  • rename to anything
  • see that the name hasn't changed
  • see that the size is 0
  • click on it
  • see that it's empty
  • try to delete it
  • see that it's still here
  • open the rename prompt
  • validate without changing anything
  • see that there is an "Error" toast message

Context:

version: 1.5.3
Nexus 5
Android 7.1.2 (LineageOS for microG)

Logcat:

logcatReader-rename-bug.txt

Option to not split lines

It's be really great to not split lines between the tag and the actual log text. This makes grepping a lot easier. Best would be if it it was impossible to differentiate between the app's logcat files and a usual adb logcat > log.txt

Set permission

Running the adb command to set the permission results in a 'no permission specified' error. Google seems to agree with the command itself, so I suspect a wrong id?

Minimal log view

Can you make it possible to make minimal view like Matlog, so it looks cleaner and easier to read and you click to expand?

image

I'm too used to Matlog. Unfortunately the developer is inactive. Matlog is also open source https://github.com/plusCubed/matlog

Get logcat from tcpip

The application could get the logs from tcpip? This is a strategy used in other applications to devices without root, this application is the best for logging but it depends on a computer to run the commands and It doesn't work on some devices.

Request for copywriting

Hi I would like to write the following for this project. About us and FAQ, which would improve the project.

adb command not working with S10 (android 9)

Hi,

I'm getting the following error when trying to run the adb command (and yes I know it's all one line):
java.lang.IllegalArgumentException: Unknown permission: android.permissions.READ_LOGS
Any suggestions?

Problem with Android hanging

When logging, if the Android hangs, the logs are not automatically saved.
So I can't track the cause of the hang.
Can you come up with something?

Change log save location

Please add an option to control the location of saved log files. Requiring a root file manager to extract the saved logs from the app directory under /data/data is very inconvenient.

Thanks!

Can't read error logs.

Maybe I don't how to use it. I really need to catch when a certain application crashes. For some reason when I apply filter 'error' it doesn't show anything while in adb it shows errors. Also what are buffers in the settings?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.