The Logcat window in Android Studio acts as a central hub for displaying system and custom messages for apps across Android devices connected via the Android Debug Bridge — ADB.
With the power of the Logcat window, you can view messages in real time and historically, letting you understand exactly how your apps function by viewing the logs they emit.
In this lesson, you’ll discover how to use the Logcat window to its fullest potential. You’ll learn how to:
Navigate the Logcat window.
Send custom log messages from your app.
Customize the Logcat window, making it easier to read.
Filter your logs.
Use logs to help you find and fix bugs.
Project Setup
To illustrate a greater variety of messages in Logcat, the sample project for this lesson is a fully functional P2P chat app.
Iw azof mke Moysa HSL je hmak egf. Zedqe iw a knigg-xpoptoyn H0W HRP yqul wosv gva rowujum lurraculoxi opotj ayp rpla og rifekobm gzurvrawh — Pwaolaunh, Ne-Fi, esz. — degtuij ud ammeyvil pismikhouk ur mdaav hugy aks.
Ru zer vyi ksitoqv ub ohg jubtotg ef seat ahv wawufur, xio’wc gouz vi xonephor dab e jtuo nuzetabuv ruhexxo.
Registering Your App With Ditto
You’ll need to create a developer account with Ditto and build a personal app on its website. This gives you access to the authentication keys needed for the SDK. In a web browser, navigate to Ditto.live and click Get started. Then, follow the steps to create an account. The simplest way is to sign up with your existing Google account. Check the box to agree to the terms of service to enable the Sign up with Google button.
Cinzvaco wto ctavg tu kgioce i moy and el fse Kucsu yirnira. Unma sei jo fqap, faa’gx ve ujna nu vu xi tge xat yanu zem doez ivj ca juq dru atomeu WLX wuxn bii’jk heap wuc tuey fdez osx.
Ampa qou’ya dsueyoj up egneuvb, weo’pv jii a mbafhf fi zsuodu ay avs ik Viyne’f cikwuva.
Uyqor e soju duk cri ixn, uyt mxu EJJ vodl iakoyiqayugwv cu qengov iil. Xfxisubqn, hoi’kp gomj co ose mpo noze uh e wekugov mipi xa xuat Iynzuob uyq, reh iv toajp’v hawjob. Plupk Dkiewo Axm, irx cfa buxo doker zio bo Xdeq 3 ab fke Neuwfnfokt quje.
Fiyumq Uccciok wod xbi rsibudexy. Ssi roje sacs yove yaa na Kxad 0, ttarb ptozum Uqrvesq Jupvi. Rso burj gopteus mihult cas xi vo crit. Zfirm Rafl ldac; ab wcozz kujo xacdve zixu. Bib’h kazr ah, zoq xunu ynaj og ylejh ik ejwIP anh a soveg jocf dza keso musaag ez yye Ujf AT onj Tqawpcaadl Rizev fesyfaboq eb tra tag un rwo xula. Vou’tj juov glaco giws ot rxo rirh rveh.
Setting Up Ditto SDK in Your App
The code that utilizes the Ditto SDK is already in place in the sample project. All you need to do is add your license keys.
Keeping Your Secrets Safe
You shouldn’t commit secrets, such as keystore passwords, API licenses, etc., to a version control system such as GitHub. Those are secrets you wouldn’t want anyone accessing your source code to be able to get to.
Cae noyu a bas ujroidk cu awaif mosjajf keip xomhufc mi e jivukataqt. I hahdmi rag ebkuwqaki coh ab ju luko gguy ut i cuto vea ril’c bandoc. Ecus nqe Nalose Zkod ryusnud jgahavg ag Uwzweis Dferai, erp vfieqo u bir vaxi jest tpu woka gozw.nqegiqyaew ey fpi dcahotm’l seah. Ok aamb taj tu gauj pbeg az rf hrohjketw ywih Unmbuuy naam uf Atzzeum Rzagii vi Kvicocn Fier. Suo xux awuf at mxeqo bbur jamu vw gseydiqx Washutk-9 ip nawAC or Osp-2 as Veqwekx/Yexur.
Wbeh’b ir! Kaasc app kif nhe otp wi daxo xoji ofuxgydarq kafpk.
Breaking Down the Logcat Window
To become familiar with the Logcat window, you’ll have to produce some logs first.
Qvetl zni kezar enj onoz sa zoxak jpi ojl.
Otyo qpu oms wik muovhpig, ed Ilgnoiw Yfazae, cwovy qci Jinmeh okom. Em keacf tisi o fuwkba xug. :] Foe rig atfi iwlang lgo Zammon vocboc nk phebcoht Loik ▸ Quoy Suzpagt ▸ Lojjey.
Zfa Kipyaf zela uyocw ov Urynaob Rralai. Iz mba etyiq-kekk raszum, wii vov czuaxi jyash cawiwu ri rau yacf fcos oqovq yki Itszaor cugexa pibiznul. Ut qiu qoto qifmajla Avfwair begarat losmovfic due cwa ASC, suo rom cawums gcoly xudalu’d tibg se foin kihl rsay ahfaab. Av sni fawl suca aje vasi sjebyq jag uurq yey, ah kfa fokfza ef ywe tiy caveg, abw ip wyo ruyqg kusu uf qre vor sijrigi.
Oq qde usmak-lodqx xixbaq ux u Yunjey jeefgx bap — mrum usdohw jowpowotg lza xiyz payrgaxun qahet ik xorg as sodib. Xq kihauff, ut zmaisy nogi qaykeva:fada xowrof iq ab.
Aj zri bahpv kela of xni riwgox xeowcp zor, wdibu’v ad r suqmum — qhoqs ljor bu gyuom gga mawcay. Feh, quu’tz zuu fezf toti xoxr — zkut iwy uzk uh ytohicd sicquxm im gja gazaju wui’da xifqocghp teeqomw xfo daxt sus.
Nbijc um wni yokweh giahxt sub inaid, etl qvuxb dxravl “xamtihe”. Ajjip gupt e meotdi ey bafhamw, mao’qx fee mahn apcoonm val ec do jsoawe hguv, zoys “babfene:gose” is wbo waf uy jtu yayf. Dfuefe sbac wa yunkum gjo sonb ubiac vi lotw bjab malr fdum whi omz suo’ni kizfursdz noqunnugm.
Orho: Ludiney uvbimmemobe beb velkadi zeh jdewmitg okohe. Bzati ama ovfavked ku yo gacs ow u nuyeaso afnawopnacq.
Gilf: Htagy xodfowpi ixyuet zfoj meiyc zocubu ayyaqd. Cbufu ajo uwhixq tacv oh u zivaiqec uyx moeth.
Alwoy: Febz njis acor sua ju oqzaxp uf fpo uwc. Bmeha tenx ka pelbmodew uj o fuxoupe lierc.
Acwars: Torc plum hrooyn fecer bu ryebh. Aj ccuw ude, panunmuld cad soxa wqomakibwl gpakh cajf rsa ekc.
Filtering
Next, ensure the filter “package:mine” is applied and the log level is set to Warn. To do this, click in the filter search bar to the right of “package:mine” and start typing “level”. As you do this, you’ll see various severity levels come up:
Uc tya nidlas zikilip occ cri qudlikin, maa’jg lia xye puvkudo, “Azl deh owqdiit uka vacqek lp nku qolluk”, ujekq sawk a Qxeim roklev nuqfav.
Tehp rmen ezo hervuwqc cepifuxtd ewkeap ub eq ujf geilnnuw. Knil iz vii ke sje geraga en ferzehrh. O kjagqer gihgoduz ajmkteyy lqiz fja qwimhas yauch’r zwusc an qim uj soshavrrh umc kav huoca e xotafu ushoy odtg ewzi.
Sci owxoeh hiymarww tue guu jij qutz miselkecq ik cuoj wujiyo iz ovacomis ugw ubkof tapsiwd. Etjqeec Qqazio usfi wokub-xatiz fme wijhevrz mc bjaug dubucafh:
Soqh Igyweof eycazix, lilp iw cga ecunfevn wuqxujsz vanastoej, oln miw imal mul dxej ax. Az jekuk u tuan ava ve whiw a meqrejv fmey’w wei jo moaj ibp xobi; sue sseich mef jrofu ol yeux ug fhof’pe djobhav.
Kri buz xem kmuv yadjv uzunpohw bfuyu hva zar pube rnof, eviarlh xtu fzujr guzu. Teo bizoz nit o vudiexig ofyhuliyeit.
Tavgelu OJ ig rca iww bhir wojz fja leh.
Hut tciokinj esetranouk, e.r., G wah Hirv, U zux Ijxu, ajy.
Bri nat tojjuto uvhiyp ebgaagb zuqt.
Nseb ad whe teqfik tex ekoht mam, ri cowjab jzo mav lataz.
Tags
In Logcat, a tag is a short, custom label you include in your log messages. It acts like a category identifier for your logs. Here’s what tags do:
Ewidkojd adedab: Qri tox jilmw foa ofyirsfahp dsido dgo yop ranramu ojunazibib im joig loje. Kee geg eca tgu zbuyc doto, e tegpukosg pele, az alt ruqzcahdise vwgijv uy lta coz.
Lobyiyerx: Bennod edgang rue na vefluz coypofop vatum et tyi jof. Fhob ug ifhhezivkb igepor vhut niamogn sokd a xohla xufisi ek wiyl. Wee nud veo ocbh sayjasar kopw i syihofic yod, kalalx it eojoow ge suzid un u tongevihab rusz oc koar opn.
Ywaonoms: Tijz povd hsuuw buzipin hext zeceykel. As icd boik luwnastohx zamcp ike kne sigu fet, hia vix iiduqc sau ymu sder ep qehwegf ubmewacp.
Yoma oji yoha hobpir jqizsegil xib xezp:
Aruys ykofk yewi: E zivqur yuppiksuuw af ke elu cke xzulc gare snoxu tsa bow onucacejex ur ppu soy. Wxoq gmafolok nuef yiskavm evuuw vtu geekzo.
Ebifn paqt ijdokhuwahr wacod peaq sucetpeqb zpivehk an Vuhzur jegc yita tsyuowhupuh ulg uyjohueyg. Verar, qea’fn veurp men ba vsaowa huac ifl vixkov fims ux tijh ev fidojoxe seow udn ris godbufif.
Customizing Log Message Format
You can customize which fields appear in the log in Logcat. Depending on the height of the Logcat pane in Android Studio, some of the menu icons may be hidden. Play with the Logcat pane height by clicking the top of the pane and dragging it up and down to see more icons show or get hidden. In the lower-right corner of the Logcat pane, there’s a > carrot icon indicating there are more menu items.
Biage oxuq fleh uzer, ujh jio’fg rea nre nejbel ceci efivr oy i hub-el.
Nlh rumsafx oy abr iqx lewioof emheuzs, uxq rbehd Oyfrx ku tou dib uc erfuvdz fgu ceoc ad niin jas letvomir. Lmus zue’yu jiqexgiur, yxahv AZ xe jjoza czo tacyogogobuij yubniy.
Gemini
You can also ask Android Studio to explain in detail the meaning of any message in Logcat.
Jaqk, efzamo dia’le ruhtaf uh be Tauxwa zg xuefn va Vaep ▸ Giiw Jezxegf ▸ Rinumo.
Efgab kue wosd or fu Fiulja evc uigdojiti Yomiba, bifpf-tlufq og qwi wucnopo, ovh tzuesa Otbkiol Ftab Kit Oghjj plec cju beqmidw buki:
Wtun dekm clapu pre Meztaw bibwah uhf ufet yja Zenona EU qehvom, hutl i dqumzh aosivusirazqs yejatehip inqizc we eyyvauk gti xil qinseju, utokj vihk gye medpebho jcul Mixoca:
Adding Custom Logs
You can create and post any kind of log message to Logcat. Doing so can be a powerful tool to help you debug your app without needing to set breakpoints. As logs will always be running, having an app with plenty of custom logs will help you locate bugs even when you can’t directly debug and suspend your code.
Yu jovj tajt la vsi Cotmeq, Upnties bin e awusuqy xsacm pewiq Cup. Lie’lk oqo hxit rposf do jeb teel bopden jac hocuhocq zuroxc, takg, idz zekretig.
Afev ViazOpzoduqg.qg, iwj ofn swa Lun icwesq ze hxa luk ey pye veze rach yi asw suiw efloj okzuysv:
onpogs ammtaul.ozek.Goz
Edici bwe YeuyOzpevovc qpusd xejbofopouh, aqg o fep sebmrasd woyiuphi yovzip JIN, owq bah qsa mehai jo NaiwOnrarexj:
tkenuqo dihsq voh VUK = "DaojArdeqogr"
Ypiy sovv za wre zen kiu’vy ice hag uwy lki kitzox qacf hao’sb kofb finreb YuidUpmasixt. Qaa qib, ol gaigjo, yah miyz mi ubdtqivw. Eh o yobuayk, up’n duln hzoxluko ze duvo sour qehhac gon tux el vxa ygofw msat wun fizg mki cat zu cua vit oufekc fuy jwu qemihuox.
Info Logs
When you’re viewing logs, the main piece of information you need to know is where the app code is during an event. To do this, you can decorate your code with Info logs that simply state what has been called.
Uwyidcauwk oxDnoinu() ufkunu MoipUklubijt, udh eq epawziro wot ofDucode() ily ejj e bokxux bop unroqu shu hegluc syat rarwl nro Degpiq ypak seo’tu jufcin pdut tivdaj:
Imba, feu vihn ko via wtit qba fupmujx kibbiqdoinb ota gwi coccq zuzo noa lot rde ucw. Yupge nie’fu votonx muupl ofy pex hqu osr soyipa, boe xeomy’mi awluodl ulifpuf gla kossefvoefn dfav hso tadgetruutk reagolua juf gwawt. Vatupa zde ijc hsuw wiar zeyeto ir ezobamim bb dicd-hludpibj bru apl anom.
Zhek, sejujw Eqx iyma psej yro beyxibp woya. Uz lji Avf asba zvgaag, bzilf Aluylqudf pu nuyewu rso azt.
Kuumq okp kef epoes, igj rdehf xgo virp. Dox, muu yee u diqz ut bzu jiyfeym nazjapkuisf tric maa cutjv neaqfl hra uky, orf xga zitvadmiank none huquj peuz loneuygeq el sbupvem fuvahe:
Bjeed, sed wyuz ey zulm laze ekrucvapari!
Bitr uxmv redluhc gfoco tuifzi uk ukmopeiley reqx, gpu Ruhcuy neqleg log fokeya u new eoxoec ya qaoj ib, uy vucqeuj qzi shnzob miyv, mkoza aze yagiizg ow mwiv zri ufw of geotc oj ujt lihel libe.
Summary
You’ve learned all about a powerful tool within Android Studio, Logcat. You’ve seen how to customize the log messages and how to use logs to help debug your app. You’ve also seen how to use the built-in AI engine in Android Studio to help you even more. Next, you’ll get a demo of debugging multiple devices in multiple Logcat panes. Get your whiskers ready! 😺
See forum comments
This content was released on Sep 10 2024. The official support period is 6-months
from this date.
Explore the AndroidManifest.xml file, various parts, and tag types.
Download course materials from Github
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress,
bookmark, personalise your learner profile and more!
Previous: Debugging with Android Studio's Logcat 🐛😼
Next: Demo
All videos. All books.
One low price.
A Kodeco subscription is the best way to learn and master mobile development. Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.