Giter VIP home page Giter VIP logo

matlog's People

Contributors

boswelja avatar cooldroid avatar danielhickman avatar dvdandroid avatar grishka avatar maxwen avatar mrikso avatar nolanlawson avatar pluscubed avatar schaal avatar snowvolf avatar unpublished avatar veyndan 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

matlog's Issues

Log that precedes the app launch

Is it possible to have the log that precedes the moment the app is launched?

I have this feature in LogFox and Logcat Reader and am missing it here. Note that their recording services are started at app launch time, and are not running before; I did "Force stop" in the Android settings, to be sure.

My use case is that I am not an Android dev and my stack traces are from new features of F-droid apps. I open the log after the crash (happens circa once a month) and copy-paste straight into GH. I do not take the time to find minimal reproducer steps anyway, as the stack trace is usually clear enough. So if I switched to MatLog, I would open the log after the crash. But I understand that for example, it may be different for a nightly beta tester.

Grant READ_LOGS via ADB if Not Rooted

I love MatLog & recommend it to users on XDA & Reddit.

Just some minor comments:

In the MatLog Play Store page & also in the README.md file this important info could be added:

MatLog requires root permission or if you don't have root, connect to a computer & copy/paste this in adb to grant the required permission:

adb shell pm grant com.pluscubed.matlog android.permission.READ_LOGS

In the MatLog Play Store page this could be added:

  • The logcat are saved in /data/media/0/matlog/saved_logs/ or /sdcard/matlog/saved_logs/.

  • This is deprecated & should be deleted:

Google+ Community: https://goo.gl/VQpTfp

In the README.md file this is wrong:

Where are the logs saved?

On the SD card, under /sdcard/catlog/saved_logs/.

Replace with:

On the SD card, under /sdcard/matlog/saved_logs/.

Remember search history

Amazing app! However I'd love to be able to pick recently searched/filtered strings from the search dropdown, rather than having to find or type them again.

Recorded file can't save on Android 11

Matlog can no longer save recorded file due to the privacy changes on Android 11 which made the storage access become more strict. Is there a workaround for this?

2021-05-31 15:27:36.628 4671-21060/? E/MediaProvider: Creating a non-default top level directory or deleting an existing one is not allowed!
2021-05-31 15:27:36.632 2800-2887/com.pluscubed.matloglibre.debug E/SaveLogHelper: couldn't create new file
    java.io.IOException: No such file or directory
        at java.io.UnixFileSystem.createFileExclusively0(Native Method)
        at java.io.UnixFileSystem.createFileExclusively(UnixFileSystem.java:317)
        at java.io.File.createNewFile(File.java:1008)
        at com.pluscubed.logcat.helper.SaveLogHelper.saveLog(SaveLogHelper.java:246)
        at com.pluscubed.logcat.helper.SaveLogHelper.saveLog(SaveLogHelper.java:232)
        at com.pluscubed.logcat.LogcatRecordingService.handleIntent(LogcatRecordingService.java:212)
        at com.pluscubed.logcat.LogcatRecordingService.onHandleIntent(LogcatRecordingService.java:168)
        at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:77)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:250)
        at android.os.HandlerThread.run(HandlerThread.java:67)
2021-05-31 15:27:36.643 1117-4491/? E/soundtrigger: audio_extn_sound_trigger_update_stream_status: invalid input device 0x0, for event 3
2021-05-31 15:27:37.036 1577-1577/? E/AudioService.OrientationHelper: Unknown device rotation
2021-05-31 15:27:38.132 4671-18043/? E/MediaProvider: Creating a non-default top level directory or deleting an existing one is not allowed!
2021-05-31 15:27:38.134 2800-2887/com.pluscubed.matloglibre.debug E/SaveLogHelper: couldn't create new file
    java.io.IOException: No such file or directory
        at java.io.UnixFileSystem.createFileExclusively0(Native Method)
        at java.io.UnixFileSystem.createFileExclusively(UnixFileSystem.java:317)
        at java.io.File.createNewFile(File.java:1008)
        at com.pluscubed.logcat.helper.SaveLogHelper.saveLog(SaveLogHelper.java:246)
        at com.pluscubed.logcat.helper.SaveLogHelper.saveLog(SaveLogHelper.java:232)
        at com.pluscubed.logcat.LogcatRecordingService.handleIntent(LogcatRecordingService.java:212)
        at com.pluscubed.logcat.LogcatRecordingService.onHandleIntent(LogcatRecordingService.java:168)
        at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:77)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:250)
        at android.os.HandlerThread.run(HandlerThread.java:67)
2021-05-31 15:27:38.142 2800-2887/com.pluscubed.matloglibre.debug E/LogcatRecordingService: unexpected exception
    java.io.InterruptedIOException: read interrupted
        at libcore.io.Linux.readBytes(Native Method)
        at libcore.io.Linux.read(Linux.java:189)
        at libcore.io.ForwardingOs.read(ForwardingOs.java:176)
        at libcore.io.BlockGuardOs.read(BlockGuardOs.java:305)
        at libcore.io.ForwardingOs.read(ForwardingOs.java:176)
        at libcore.io.IoBridge.read(IoBridge.java:509)
        at java.io.FileInputStream.read(FileInputStream.java:320)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:347)
        at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:291)
        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:355)
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:181)
        at java.io.InputStreamReader.read(InputStreamReader.java:184)
        at java.io.BufferedReader.fill(BufferedReader.java:172)
        at java.io.BufferedReader.readLine(BufferedReader.java:335)
        at java.io.BufferedReader.readLine(BufferedReader.java:400)
        at com.pluscubed.logcat.reader.SingleLogcatReader.readLine(SingleLogcatReader.java:67)
        at com.pluscubed.logcat.LogcatRecordingService.handleIntent(LogcatRecordingService.java:199)
        at com.pluscubed.logcat.LogcatRecordingService.onHandleIntent(LogcatRecordingService.java:168)
        at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:77)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:250)
        at android.os.HandlerThread.run(HandlerThread.java:67)
2021-05-31 15:27:38.145 4671-17047/? E/MediaProvider: Creating a non-default top level directory or deleting an existing one is not allowed!
2021-05-31 15:27:38.148 2800-2887/com.pluscubed.matloglibre.debug E/SaveLogHelper: couldn't create new file
    java.io.IOException: No such file or directory
        at java.io.UnixFileSystem.createFileExclusively0(Native Method)
        at java.io.UnixFileSystem.createFileExclusively(UnixFileSystem.java:317)
        at java.io.File.createNewFile(File.java:1008)
        at com.pluscubed.logcat.helper.SaveLogHelper.saveLog(SaveLogHelper.java:246)
        at com.pluscubed.logcat.helper.SaveLogHelper.saveLog(SaveLogHelper.java:232)
        at com.pluscubed.logcat.LogcatRecordingService.handleIntent(LogcatRecordingService.java:222)
        at com.pluscubed.logcat.LogcatRecordingService.onHandleIntent(LogcatRecordingService.java:168)
        at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:77)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:250)
        at android.os.HandlerThread.run(HandlerThread.java:67)
2021-05-31 15:27:38.227 1117-1275/? E/soundtrigger: audio_extn_sound_trigger_update_stream_status: invalid input device 0x0, for event 2
2021-05-31 15:27:38.454 1577-1577/? E/AudioService.OrientationHelper: Unknown device rotation
2021-05-31 15:27:39.062 1577-1577/? E/AudioService.OrientationHelper: Unknown device rotation
2021-05-31 15:27:39.668 1118-1291/? E/sensors-hal: handle_sns_client_event:62, mot_disprot_event: now=174832616574457 ts=174832434646707, type=16, status=3

Please add scrollbar

Please add scrollbar for Matlog, it's very hard to scroll without scrollbar. Thank a lot!

Add a divider

Another suggestion, when I'm monitoring logcat via adb, before testing something I like to hit return a few times to insert some white space so I can easily see what went on during the time I care about. I suggest adding a way to insert a line or some other sort of divider, maybe change the bg of the current line when the screen is triple tapped (not the line that is being tapped three times, but rather the most recent log line). Then you you go off and do something you want to monitor, you can come back and easily see what went on during that, rather than having to comb through the entire session.

Ability to read adb logcat in matlog

Hey, just curious about how difficult it would be to add the ability to read regular logcats in matlog. It would be quite useful to be able to filter adb logs from users while on my phone.

Crash when opening menu

When clicking the menu button in the app, the app crashes.
Logs:

Exception while inflating <vector>
android.content.res.Resources$NotFoundException: Resource is not a ColorStateList (color or path): TypedValue{t=0x2/d=0x1010429 a=-1}
	at android.content.res.Resources.loadColorStateList(Resources.java:2376)
	at android.content.res.TypedArray.getColorStateList(TypedArray.java:343)
	at android.support.graphics.drawable.VectorDrawableCompat.inflate(VectorDrawableCompat.java:5757)
	at android.support.graphics.drawable.VectorDrawableCompat.createFromXmlInner(VectorDrawableCompat.java:674)
	at android.support.v7.widget.AppCompatDrawableManager$VdcInflateDelegate.createFromXmlInner(AppCompatDrawableManager.java:775)
	at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:366)
	at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:198)
	at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:191)
	at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:102)
	at android.support.v7.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:505)
	at android.support.v7.view.menu.ListMenuItemView.initialize$667f453d(ListMenuItemView.java:134)
	at android.support.v7.view.menu.MenuAdapter.getView(MenuAdapter.java:109)
	at android.support.v7.view.menu.MenuPopup.measureIndividualMenuWidth(MenuPopup.java:161)
	at android.support.v7.view.menu.StandardMenuPopup.show(StandardMenuPopup.java:2174)
	at android.support.v7.view.menu.MenuPopupHelper.showPopup(MenuPopupHelper.java:290)
	at android.support.v7.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:177)
	at android.support.v7.widget.ActionMenuPresenter$OpenOverflowRunnable.run(ActionMenuPresenter.java:806)
	at android.os.Handler.handleCallback(Handler.java:733)
	at android.os.Handler.dispatchMessage(Handler.java:95)
	at android.os.Looper.loop(Looper.java:136)
	at android.app.ActivityThread.main(ActivityThread.java:5146)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:515)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
	at dalvik.system.NativeStart.main(Native Method)

FATAL EXCEPTION: main
Process: com.pluscubed.matloglibre, PID: 22628
android.content.res.Resources$NotFoundException: File res/drawable/ic_share_white_24dp.xml from drawable resource ID #0x7f080075. If the resource you are trying to use is a vector resource, you may be referencing it in an unsupported way. See AppCompatDelegate.setCompatVectorFromResourcesEnabled() for more info.
	at android.content.res.Resources.loadDrawable(Resources.java:2235)
	at android.content.res.Resources.getDrawable(Resources.java:733)
	at android.content.res.Resources.getDrawable(Resources.java:711)
	at android.support.v7.widget.VectorEnabledTintResources.superGetDrawable(VectorEnabledTintResources.java:75)
	at android.support.v7.widget.AppCompatDrawableManager.onDrawableLoadedFromResources(AppCompatDrawableManager.java:432)
	at android.support.v7.widget.VectorEnabledTintResources.getDrawable(VectorEnabledTintResources.java:68)
	at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:465)
	at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:203)
	at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:191)
	at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:102)
	at android.support.v7.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:505)
	at android.support.v7.view.menu.ListMenuItemView.initialize$667f453d(ListMenuItemView.java:134)
	at android.support.v7.view.menu.MenuAdapter.getView(MenuAdapter.java:109)
	at android.support.v7.view.menu.MenuPopup.measureIndividualMenuWidth(MenuPopup.java:161)
	at android.support.v7.view.menu.StandardMenuPopup.show(StandardMenuPopup.java:2174)
	at android.support.v7.view.menu.MenuPopupHelper.showPopup(MenuPopupHelper.java:290)
	at android.support.v7.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:177)
	at android.support.v7.widget.ActionMenuPresenter$OpenOverflowRunnable.run(ActionMenuPresenter.java:806)
	at android.os.Handler.handleCallback(Handler.java:733)
	at android.os.Handler.dispatchMessage(Handler.java:95)
	at android.os.Looper.loop(Looper.java:136)
	at android.app.ActivityThread.main(ActivityThread.java:5146)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:515)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
	at dalvik.system.NativeStart.main(Native Method)
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #16: invalid drawable tag vector
	at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:933)
	at android.graphics.drawable.Drawable.createFromXml(Drawable.java:877)
	at android.content.res.Resources.loadDrawable(Resources.java:2231)
	... 26 more

Filter by TAG

The filter option is really nice but is it also possible to filter by TAG or something like this?

Copy multiple logcat lines

Version: v1.2.3

Desired behavior:
Users can only copy 1 log line at a time. It'd be great if users can select multiple lines and copy them.

UI proposal:

  • when users long tap a log line, show additional option of "copy multiple line to clipboard"
  • the line serves as the begin of the selection.
  • when users tap another line, the lines between them will be copied.
    • The experience would be similar to the app's save partial feature, that let users select a subset of lines by marking beginning and end.

Retain scroll position after log level is changed

Version: v1.2.3

Use case:
When users find an interesting log lines, by say, change the log level to ERROR, the users then want to view the surrounding logs at a more detailed level, e.g., VERBOSE.

Desired behavior:

  • Users first put the log level to be more brief, e.g., ERROR
  • Then scroll to find an interesting line, and tap the line .
  • Users than change the log level to be more detailed, e.g., VERBOSE
  • The app should keep the scroll position around the aforementioned line.

Current behavior:

  • The app will move the scroll to the bottom once the log level is changed.

Document permission within the app

Document within the app the need to do

pm grant com.pluscubed.matlog android.permission.READ_LOGS

Why? Else one needs to revoke permissions just to see the message about needing this permission again.

If it was fully documented within the app, one needn't revoke the permission just to see what it said before.

Loading forever

I have an issue where matlog just keep on loading forever. The spinner just spins. Nothing happens. But I can change settings and search (nothing shows during search, only the spinner).
Tested with granted permission/rootless and root.
Info:
OS: Android 8.1 Oxygen OS.
Phone: OnePlus 5T
Matlog version: 1.2.0 (beta), 1.1.1 (stable)

Android 8.0 there always is a freeze

On Android 8.0 there always is a freeze, with "Send Feedback?", and then after recovery if any, it needs help scrolling, with the user's finger. ASUS Zenfone 3. Matlog beta 1.1.1.

Fail to Grant READ_LOGS via ADB

I tried to grant permission via adb and get the following error.

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:2187)
at android.app.ContextImpl.enforceCallingOrSelfPermission(ContextImpl.java:2215)
at com.android.server.pm.permission.PermissionManagerService.grantRuntimePermissionInternal(PermissionManagerService.java:1481)
at com.android.server.pm.permission.PermissionManagerService.grantRuntimePermission(PermissionManagerService.java:1463)
at android.permission.PermissionManager.grantRuntimePermission(PermissionManager.java:378)
at com.android.server.pm.PackageManagerShellCommand.runGrantRevokePermission(PackageManagerShellCommand.java:2419)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:260)
at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
at android.os.ShellCommand.exec(ShellCommand.java:38)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:26028)
at android.os.Binder.shellCommand(Binder.java:972)
at android.os.Binder.onTransact(Binder.java:856)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4818)
at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:9350)
at android.os.Binder.execTransactInternal(Binder.java:1228)
at android.os.Binder.execTransact(Binder.java:1165)

Recording notification not working in 8.1

As the title states, no notification when recording.
E: suppressing notification from package by user request.
E: No channel found for pkg=com.pluscubed.matlog...

Unable to view the log

Hi,
After recording a log through the widget, I can't view the log. The app is loading again and again.
Nexus 5 Android 6.0.1 - CM13 based rom - No issue with the good old Catlog.

Thanks for supporting this fork!

unnamed

MatLog 2.0

I want to present you the concept version of MatLog. It takes into account the realities of modern devices, and therefore the interface is made so that the user does not reach up for the most necessary functions. Some features such as "floating window" will be added soon.

Minimum SDK version is 21 (it's obvious)

main
main dark
settings

What I suggest:
In the near future I will make some improvements to the master branch, and we will post an update to google play for old devices. As soon as I fix all flaws in MatLog2, and after tests, you have to upload a new version for devices with SDK 21+

Auto expand dialog for landscape

If on landscape, dialog is collapsed by default, you must scroll up. This is rather annoying. Is it possible to expand by default?

I can't figure out how to fix because i'm not experienced in layout

image

Probably wrong facility identification.

Hi,

message like this appear with WTF facility filter enabled but I think that this is an INFO message.

10-31 14:50:49.691 I/NetworkController.MotorolaMobileSignalController(1)( 2291): MotorolaMobilePhoneStateListener.onSignalStrengthsChanged: Entered: signalStrength=SignalStrength: 10 0 -120 -160 -120 -1 -1 99 2147483647 2147483647 2147483647 2147483647 2147483647 gsm|lte level=3

Maybe a BUG?

Regards.
Alessandro

F-Droid

Any chance of adding this to F-droid?

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.