<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Android 筆記——日志工具的使用

      1、使用 Android 的日志工具 Log

        Android 中的日志工具類是 Log(android.util.Log)?,這個類中提供了5個方法來供我們打印日志:

        ★ Log.v():用于打印那些最為瑣碎的、意義最小的日志信息。

            ? 對應級別 verbose,是 Android 日志里面級別最低的一種。

        ★ Log.d():用于打印一些調試信息,這些信息對你調試程序和分析問題應該是有幫助的。

            ? 對應級別 debug,比 verbose 高一級。

        ★ Log.i():用于打印一些比較重要的數據,這些數據應該是你非常想看到的、可以幫你分析用戶行為的數據。

            ? 對應級別 info,比 debug 高一級。

        ★ Log.w():用于打印一些警告信息,提示程序在這個地方可能會有潛在的風險,最好去修復一下這些出現警告的地方。

            ? 對應級別 warn,比 info 高一級。

        ★ Log.e():用于打印程序中的錯誤信息,比如程序進入了 catch 語句中。當有錯誤信息打印出來的時候,一般代表你的程序出現嚴重問題了,必須盡快修復。

            ? 對應級別 error,比 warn 高一級。

        一共5個方法,每個方法有不同的重載。

        在 HelloWorld 項目中試一試日志工具好不好用,打開 MainActivity,在 onCreate() 方法中添加一行打印日志的語句,如下所示:

      class MainActivity : AppCompatActivity() {
      
          override fun onCreate(savedInstanceState: Bundle?) {
              super.onCreate(savedInstanceState)
              setContentView(R.layout.activity_main)
              Log.d("MainActivity", "onCreate execute")
          }
      
      }

        Log.d() 方法中傳入了兩個參數:第一個參數是 tag,一般傳入當前的類名就好,主要用于對打印信息進行過濾;第二個參數是 msg,即想要打印的具體內容。

        重新運行一下 HelloWorld 項目,點擊頂部工具欄上的運行按鈕,或者使用快捷鍵 Shift + F10Mac系統是Control + R)?。等程序運行完畢,點擊 Android Studio 底部工具欄的“Android Monitor”?,在 Logcat 中就可以看到打印信息。

        其中,不僅可以看到打印日志的內容和 tag 名,就連程序的包名、打印的時間以及應用程序的進程號都可以看到。當然,Logcat 中不光會顯示我們所打印的日志,還會顯示許多其他程序打印的日志,因此在很多情況下還需要對日志進行過濾。

       

      2、為什么使用 Log 而不使用 println()

        相信很多的 Java 新手會非常喜歡使用 System.out.println() 方法來打印日志,在 Kotlin 中與之對應的是 println() 方法,不知道你是不是也喜歡這么做。不過在真正的項目開發中,是極度不建議使用 System.out.println()println() 方法的,如果你在公司的項目中經常使用這兩個方法來打印日志的話,就很有可能要挨罵了。

        為什么 System.out.println()println() 方法會這么不受待見呢?

        仔細分析會發現這兩個方法除了使用方便一點之外,其他就一無是處了。方便在哪兒呢?在 Android Studio 中你只需要輸入“sout”?,然后按下代碼提示鍵,方法就會自動出來了,相信這也是很多 Java 新手對它鐘情的原因。那缺點又在哪兒了呢?這個就太多了,比如日志開關不可控制、不能添加日志標簽、日志沒有級別區分……

        Log 雖然沒有把上面所說的缺點全部改好,但 Log 已經做得相當不錯了,現在看看 LogLogcat 配合的強大之處。

        首先,Logcat 中可以很輕松地添加過濾器,可以點擊下圖中的過濾圖標,查看最近使用過的過濾條件。

        目前只有4個過濾器,level:warn 表示只顯示指定級別的日志,這里指定的日志級別是 warnpackage:mine 表示只顯示指定包名的日志,這里指定的包名是 minetag:MainActivity 表示只顯示指定 tag 名稱的日志,這里指定的 tagMainActivityMainActivity 表示只顯示包含指定字符串的日志,這里指定的字符串是 MainActivity

        除此以外,message:MainActivity 表示只顯示消息中包含指定字符串的日志,這里指定的字符串是 MainActivity

        可以同時指定多個過濾條件,使用空格分隔。

        現在來添加日志試試,onCreate() 方法中添加打印日志的語句:Log.d("data", "onCreate execute"),再次運行程序,在 data 過濾器下看到這行日志了。

        Logcat 中主要有5個級別,分別對應上一小節介紹的5個方法。新版本的 Logcat 增加了 level:assert,用于顯示斷言信息

        按日志級別進行過濾 : 

          level:verbose :顯示所有日志。

          level:debug :顯示調試日志。

          level:info :顯示一般信息。

          level:warn :顯示警告日志。

          level:error :顯示錯誤日志。

          level:assert :顯示斷言信息。

        如果當前選中的級別是 Verbose,也就是最低等級。這意味著不管使用哪一個方法打印日志,這條日志都一定會顯示出來。而如果將級別選中為 Debug,這時只有我們使用 Debug 及以上級別方法打印的日志才會顯示出來,以此類推。當把 Logcat 中的級別選中為 InfoWarn 或者 Error 時,在 onCreate() 方法中打印的語句是不會顯示的,因為打印日志時使用的是 Log.d() 方法。

        日志級別控制的好處是可以很快地找到關心的那些日志。可以在輸入框里輸入關鍵字的內容,這樣只有符合關鍵字條件的日志才會顯示出來,從而能夠快速定位到任何你想查看的日志。

        關鍵字過濾是支持正則表達式的,有這個特性,就可以構建出更加豐富的過濾條件。

       

      posted @ 2025-07-24 11:35  城北有個混子  閱讀(182)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 曰韩高清砖码一二区视频| 蜜臀av人妻国产精品建身房| 国产精品免费看久久久| 高清无码18| 日本久久久免费高清| 蜜芽久久人人超碰爱香蕉| 东京热大乱系列无码| 亚洲欧美日韩精品久久亚洲区色播| 又大又粗又爽的少妇免费视频| 国产 另类 在线 欧美日韩 | 日韩精品一区二区三区影院| 国产日韩av二区三区| 国产办公室秘书无码精品99| 无码人妻久久一区二区三区app| 亚洲综合天堂一区二区三区| 靖边县| 亚洲精品免费一二三区| 成人福利一区二区视频在线| 啦啦啦高清在线观看视频www| 国产欧美日韩精品第二区| 在线a亚洲老鸭窝天堂| 国产94在线 | 亚洲| 国产精品中出一区二区三区| AV区无码字幕中文色| 亚洲欧美日韩综合久久久| 久久久久四虎精品免费入口| 欧美人人妻人人澡人人尤物| 国内在线视频一区二区三区| 荆州市| 亚洲国产成人久久一区久久| 青青热在线精品视频免费观看| 亚洲第一香蕉视频啪啪爽| 免费无码AV一区二区波多野结衣| 久久久久久无码午夜精品直播| 国产99精品成人午夜在线| 日韩欧美不卡一卡二卡3卡四卡2021免费 | 91精品蜜臀国产综合久久| 久久天天躁综合夜夜黑人鲁色| 久久人人97超碰国产精品| 影音先锋啪啪av资源网站 | 亚洲综合小综合中文字幕|