Diagnosing failures in the Android operating system is impossible without access to internal event logs. Logs are text records that the system keeps continuously, recording application launches, kernel errors, network connections and user actions. When a smartphone starts to slow down, an application crashes, or the battery runs out in a couple of hours, it is the analysis of these records that allows an engineer or an advanced user to find the root of the problem.
The average user is denied access to this data by default for security reasons, but the tools for obtaining it are built into the platform itself. There are several levels of logging, from simple error reports accessible through the settings menu to detailed kernel data streams that require a connection to a computer. Understanding where to look for these files and how to interpret them turns a chaotic set of symbols into a clear picture of what is happening.
In this article we will look at all the ways to access system logs, from built-in Google tools to professional command line utilities. You will learn to distinguish between types of logs, filter noise and find specific error codes that indicate a malfunction hardware or bugs in firmware.
Built-in diagnostic tools and Google reports
The easiest way to access system information is to use standard tools that do not require root access or a connection to a PC. In modern versions of Android, especially in pure Android 12-14 and shells One UI or MIUI, the “Send feedback” or “Report a bug” function is implemented. When this mode is activated, the system collects fresh logs, takes screenshots and creates an archive that can be saved in the device memory.
To activate advanced logging, you often need to enable developer mode. This is done by tapping the build number seven times in the About Phone section. After activation, the “USB Debugging” item and additional logging options appear in the menu. This is where the “Keep Bluetooth Log” or “Event Log” switch is hidden, which is necessary for debugging specific modules.
⚠️ Attention: Constantly recording detailed logs (especially Bluetooth and Wi-Fi) can significantly increase wear on flash memory and speed up battery drain. Enable these functions only during diagnostics.
It is also worth mentioning the Google Play Services, which automatically collects data on application failures. If you use standard Google services, some critical errors have already been sent to the developers. However, for local analysis, this data is hidden, and you can access it only through special ADB commands, which will be discussed below.
Using ADB and the Logcat command
The most powerful tool for working with logs is the utility Android Debug Bridge (ADB). It allows you to display a stream of system events in real time on the computer screen. To work, you need to install device drivers and platform tools (SDK Platform Tools) on your PC. The connection is made via a USB cable in debugging mode.
The main command for viewing logs is adb logcat. When it is executed, the terminal begins to fill with thousands of lines per second. To avoid drowning in information noise, filters are used. For example, the command adb logcat -s ActivityManager will only show messages associated with the activity manager, ignoring other processes. This is critical when searching for reasons why a specific application crashes.
adb logcat -v time | findstr "Fatal"
This command will only display lines containing the word "Fatal" with timestamps. There are different message severity levels in Android logs: Verbose (details), Debug (debugging), Info (information), Warning (warning), Error (error) and Fatal (critical error). To diagnose user problems, the Error and Fatal levels are most often important.
Use the "adb logcat -c" command before reproducing the error to clear the buffer and get a clean log only from the moment the problem occurred.
Third-party applications for reading logs on the device
If connecting to a computer is not possible, you can use specialized applications from store Google Play. apps like MatLog or Logcat Reader allow you to read system buffers directly on the smartphone screen. They act as an interface to the same logcat command, but provide a user-friendly graphical interface with color-coded tag highlighting.
Most of these applications require root access to access all system buffers. Without root access, an application will only be able to read its own logs or public events. However, even limited access often allows you to see which application caused a conflict or why a certain function does not work.
- 📱 MatLog - a modern fork of the classic CatLog, supports export to a file, text search and filtering by priority.
- 🔍 Logcat Reader - has a convenient tabbed interface, supports saving logs to the cloud and sending by email.
- 🛠️ Termux —a terminal emulator that allows you to run a full-fledged logcat directly on your phone without installing separate reader applications.
It is important to understand that reading logs with third-party applications creates additional load on the processor. If you are analyzing the cause of a system freeze, it is better to use the method of recording to a file and then studying it, rather than constant monitoring in real time.
☑️ Check before analyzing logs
System status report (Bug Report)
Android has a feature for creating a full system status report, known as Bug Report. Unlike the logcat stream, this report contains not only current events, but also a snapshot of the state of all running processes, memory dumps, battery and network information at the time of creation. This is the “heavy artillery” for deep diagnostics.
You can start creating a report in different ways. On many devices, it is enough to simultaneously hold down the power and volume up buttons (or power and volume down) for 7-10 seconds. There is also an option available in the developer menu called "Create a bug report". The creation process can take from 30 seconds to several minutes, after which the notification will appear in the curtain.
The resulting file usually has an extension .zip and contains a text file inside bugreport-*.txt. Inside this giant text document, the logs are structured into sections (DAEMON, BATTERY, WINDOW MANAGER). Searching for keywords such as "ANR" (Application Not Responding) or "CRASH" allows you to quickly find the moment of failure.
Analysis of modem and radio module logs (Radio Log)
The radio module logs, which are responsible for cellular communications, mobile data and SMS, deserve special attention. Problems with an intermittent network, inability to make calls, or low signal levels often lie here. The radio log buffer is separated from the main system log.
To view this data via ADB, use a command specifying a specific buffer:
adb logcat -b radio
Here you will see the interaction of the phone with cell operator towers, network registration commands and the reasons for the disconnection. Terms like RIL (Radio Interface Layer) will appear all the time. If the radio logs show cyclic module reboots or constant registration errors, this may indicate a hardware problem with the antenna or incompatibility of the firmware with operator frequencies.
What is ANR in the logs?
ANR (Application Not Responding) is a state when the application does not respond to user actions for more than 5 seconds. In the logs, this is accompanied by a thread dump, showing which process blocked execution.
Table of main tags and error codes
When analyzing text log files, a beginner may be intimidated by the abundance of abbreviations. However, there is a set of standard tags that are found in 90% of diagnostic cases. Knowing their decoding helps you quickly navigate the nature of the problem.
| Tag / Code | Decoding | Description of the problem |
|---|---|---|
| ANR | Application Not Responding | The application has frozen and does not respond to system requests. |
| FATAL EXCEPTION | Fatal Exception in... | Critical error, leading to the forced closure of the process. |
| Kernel Panic | Kernel Panic | Critical failure of the Linux kernel, often leading to a reboot (bootloop). |
| WIFI | Wi-Fi State Machine | Errors in connection, authorization or operation of the Wi-Fi module driver. |
| SurfaceFlinger | Surface Flinger | Problems with the graphical interface, artifacts, screen flickering. |
Using a search for these tags in a text editor, you can instantly cut off 95% of useful information and focus on real errors. Remember that the presence of the "Warning" tag does not always mean a critical problem; often this is a normal situation that the system was able to process.
The most important tags for the user are ANR and FATAL EXCEPTION, as they directly indicate the cause of application crashes and interface freezes.
Frequently asked questions (FAQ)
Is it possible to read logs without enabling USB debugging?
Without enabling USB debugging, access to the full system log via a computer is closed. However, you can use the built-in "Send Feedback" function to create a report or install reader applications from the Play Market, although their capabilities without root access will be limited.
Where are the log files stored in the phone's memory?
Logs are in RAM and are not saved as files by default. They are saved only when creating a Bug Report or when using special recorder applications that can save a buffer to a text file in internal memory.
Is it safe to send logs to developers?
Logs may contain sensitive information such as Wi-Fi network names, geolocation or names of running applications. Before sending logs to third parties, it is recommended to open the file in a text editor and delete personal data or use anonymization functions, if available.
Why does the phone get hot when logcat is connected?
Recording logs in real time requires constant write operations to memory and processor work. If verbose-level debugging is enabled, the load on the system increases many times, which causes heating. After diagnostics are complete, disable logging.
How to open the bugreport file on your computer?
The bugreport file has a .zip extension. It needs to be unpacked with any archiver. Inside there will be a large text file, which is best opened with advanced editors like Notepad++, VS Code or Sublime Text, since the standard Windows Notepad may not cope with the file size.
Tip for advanced
To constantly monitor a specific error, you can write a simple bash script that will filter the logcat output and send an email notification when the word appears "CRASH".