We can see the following messages in Logcat:
To properly log messages from your application you should use the
android.util.Log class. This class defines the familiar informational, warning, and error methods that you can filter in the Logcat pane to see just what you want to see. Every log message has a tag associated with it, which is used to identify the source of a log message. It usually identifies the class or activity where the log call occurs.
Here are some sample Log commands categorized by severity:
Log.v("TAG", "Verbose level message"); Log.d("TAG", "Debug level message"); Log.i("TAG", "Information level message"); Log.w("TAG", "Warning level message"); Log.e("TAG", "Error level message"); Log.wtf("TAG", "Assert level message");
It's best to use the appropriate log level for the message you want to log. It is recommend to define a unique debug tag string for each class so that you can easily track down where a log message originated. You can use this tag to filter the logging data and find only the messages you are interested in.
The recommended way to define Tag string:
private static final String TAG = "MyActivity"; Log.v(TAG, "Verbose level message"); ...
How to open Logcat?
By keyboard shortcut
alt + 6
By clicking the main menu bar
View > Tool Windows > Logcat.
By clicking the
Logcat Tool Buttonfrom the bottom of Android Studio.
The following Logcat pane will appear on bottom of Android Studio.
Following is the description of some important options highlighted in above image:
Device selection menu
App selection menu
Filter messages based on log level, where messages for your chosen level or higher will be displayed
Use the search field to filter items based on a search string
When this menu is set to Show only selected application, only those messages relating to the app selected in the menu marked as
2will be displayed in the Logcat panel. Choosing No Filter will display all the messages generated by the device or emulator.
To get the most out of your application, Logcat has several levels of log messages, so Android Studio provides multiple ways of filtering the logcat output. One method is to use the Log Level dropdown menu, to filter based on log level, open this dropdown and select anything other than the default Verbose option.
Verbose: Display all log messages
Debug: Displays log messages that are useful during development
Info: Displays expected log messages for regular usage
Warn: Displays possible issues that are not yet errors
Error: Displays issues that have caused errors
Assert: Displays issues that should never happen
Making a custom level in Logcat
Every Android log message includes a tag. You can use these tags with filters defined in Logcat. To open Logcat pane, click "Show only selected application" drop-down menu from the top right and select "Edit Filter Configuration". This opens a "Create New Logcat Filter" dialog:
Provide the following information to create a new filter:
Filter name: give a unique name.
Log Tag: Every log message has a tag associated with it, which indicates the system component the message originated from. If you want to see messages that originate from a certain system component only, you can enter that component's tag here. It is used to identify the source of a log message. It usually identifies the class or activity where the log call occurs.
Log Message: If you only want to see messages that contain certain elements or character strings, specify them in the Log Message field.
Package Name: If you want your filter to display messages that relate to a certain package only, enter this package name here.
PID: If you only want to see messages that refer to a specific process, enter that process ID here.
Customizing log messages font colors and style
Open Android Studio Settings from the main menu
File > Settings or by pressing keyboard shortcut
Ctrl + Alt + S. In the search field, enter Logcat.
Editor > Color & Fonts > Android Logcat preferences appears:
To change these options, you must save a copy of the current Theme by clicking the Save as button and enter some suitable name. Now select each log level one by one and apply your own font and background color, make log message bolt or italic and etc.
Note: before starting the customization, uncheck the
Use inherited attributes box, otherwise you won't be able to edit these options.
Select a log level from the list (e.g. Assert)
If you want to change font color, check
Foregroundand click its color box to customize the font color
To change the background color of font, check Background and click its color box to customize the background color
Check Error stripe mark to display a mark at the end of message and click its color box to customize the mark color
Check Effects then select the effect from the drop down menu (e.g. underline, strikeout, or dotted line etc) and click its color box to customize the mark color.
To apply changes, click on Apply and then OK.
How to clear logs
The "trash can" icon atop the tool strip on the left is the "clear log" tool.
Clicking it will appear to clear Logcat. It definitely clears your LogCat view, so you will only see messages logged after you cleared it, though, that this does not actually clear the logs from the device or emulator.
Note: Log has impact on performance. Excessive logging impacts device and application performance. At a minimum, debug and verbose logging should be used only for development purposes and removed prior to application publication.