chacha's

[ Android ] Timber Library ( ๋กœ๊น… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ) ๋ณธ๋ฌธ

Android

[ Android ] Timber Library ( ๋กœ๊น… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ )

Cha_Cha 2021. 4. 16. 16:27

๋ชฉ์ฐจ

    ๐Ÿฅพ Timber์˜ ์žฅ์ 

    1. ํด๋ž˜์Šค ์ด๋ฆ„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž๋™์œผ๋กœ tag๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜๋™์œผ๋กœ ์ƒ์„ฑํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
    2. APP APK ๋ฆด๋ฆฌ์ฆˆ ํ•  ๋•Œ ๋กœ๊ทธ ์ถœ๋ ฅ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    3. ์ถฉ๋Œ ๋ณด๊ณ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์‰ฝ๊ฒŒ ํ†ตํ•ฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    4. ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•ด์ง‘๋‹ˆ๋‹ค.

    ๐Ÿ’ป ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

    1. build.gradle(Module:app)์— Timber ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ํ•˜๊ธฐ

    implementation 'com.jakewharton.timber:timber:4.7.1'

    2. Application class ๋งŒ๋“ค๊ธฐ

    ์•ฑ ์ „์ฒด์—์„œ logging library๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— application class๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹ค๋ฅธ ์–ด๋–ค ๊ฒƒ๋ณด๋‹ค Timber๊ฐ€ ๋จผ์ € ์ดˆ๊ธฐํ™”๋˜๊ธฐ ์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ( apllication class๊ฐ€ fragment๋‚˜ activity๋ณด๋‹ค ๋จผ์ € ์ดˆ๊ธฐํ™”๊ฐ€ ๋˜๋‚ญ? )

    class PusherApplication : Application() {
    
        override fun onCreate() {
            super.onCreate()
        }
    }

    3. AndroidManifest์— application class ์ถ”๊ฐ€ํ•˜๊ธฐ

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.desertpusher">
    
        <application
            android:name=".PusherApplication"
            ...
        </application>
    
    </manifest>

    4. application class์˜ Timber ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ

    class PusherApplication : Application() {
    
        override fun onCreate() {
            super.onCreate()
            Timber.plant(Timber.DebugTree())
        }
    }

    5. Timber ์‚ฌ์šฉํ•˜๊ธฐ

        /** Lifecycle Methods **/
        override fun onStart() {
            super.onStart()
            //Log.i("MainActivity", "onStart Called")
            Timber.i("onStart Called")
        }

    ์‹คํ–‰ ๊ฒฐ๊ณผ

     

    ๐Ÿ“ฑ Application class๋ž€?

     Application - Doc 

    Application Class๋Š” ์•ฑ์— ๋Œ€ํ•œ ์ „์—ญ ์ƒํƒœ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์šด์˜์ฒด์ œ๊ฐ€ ์•ฑ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.

    application class๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๊ธ€๋กœ๋ฒŒ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๊ฝค ํŽธ๋ฆฌํ•ด๋ณด์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ด๋””์„œ๋“  ์ฝ๊ณ  ์“ฐ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ณ  ์ •์  ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ด ์žฅ์ ์€ ๋™์‹œ์— ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ ์‰ฝ๋‹ค๋Š” ๋‹จ์ ์ด ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ application class๋ฅผ ๋‚จ์šฉํ•˜์ง€ ์•Š๊ณ  ์ ์ ˆํžˆ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

    END

    Comments