Android Code Snippet Parsing your apps logs

Discussion in 'Code Snippets' started by Erel, Jul 23, 2019.

  1. Erel

    Erel Administrator Staff Member Licensed User

    It is possible to access your apps logs with LogCat from the Phone library.
    Note that it doesn't require any permission however you cannot use it to read the logs of other apps.
    The LogCatData event is raised on a different thread. This makes it a bit more difficult to work with this event if you want to process the logs.

    The following code shows how to collect the logs with StringBuilder and how to use a timer to parse them:
    'Starter service
    Sub Process_Globals
    Private LogCat As LogCat
    Public LogBuffer As StringBuilder
    End Sub

    Sub Service_Create

    End Sub

    Sub Service_Start (StartingIntent As Intent)
    Service.StopAutomaticForeground 'Starter service can start in the foreground state in some edge cases.
    #if RELEASE
       'only start it in release mode. Debug mode doesn't support running code on background threads
       LogCat.LogCatStart(Array As String(), "LogCat")
    #end if
    End Sub

    Sub LogCat_LogCatData (Buffer() As Byte, Length As Int)
    Dim b(Length) As Byte
    Bit.ArrayCopy(Buffer, 0, b, 0, Length)
    "LogCatData", b)
    End Sub

    Sub LogCatData(buffer() As Byte)
    BytesToString(buffer, 0, buffer.Length, "utf8"))
    If LogBuffer.Length > 5000 Then
               LogBuffer.Remove(LogBuffer.Length - 
    4000, LogBuffer.Length)
    End If
    End Try
    End Sub

    'Main activity:
    Sub Process_Globals
    Private Timer1 As Timer
    End Sub

    Sub Globals

    End Sub

    Sub Activity_Create(FirstTime As Boolean)
    If FirstTime Then
    End If
    End Sub

    Sub Timer1_Tick
    Dim logs As String = Starter.LogBuffer.ToString
    If logs.Contains("Pause"Then
    0, Starter.LogBuffer.Length)
    End If
    End Sub

    Sub Activity_Resume
       Timer1.Enabled = 
    End Sub

    Sub Activity_Pause (UserClosed As Boolean)
       Timer1.Enabled = 
    End Sub
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice