Usage - fengzhizi715/SAF-Kotlin-log GitHub Wiki

Tag

ๅฆ‚ๆžœไธ่€ƒ่™‘ๆ˜พ็คบๆ—ฅๅฟ—็š„tag๏ผŒๅฏไปฅ็›ดๆŽฅไฝฟ็”จ๏ผŒL ไผšๆไพ›้ป˜่ฎค็š„tagใ€‚

String s = "abcd";
L.i(s);

ๅฆ‚ๆžœ้œ€่ฆไฝฟ็”จ tag๏ผŒๅฏไปฅๅœจ Activity ็š„ onCreate() ไธญๆทปๅŠ ๅฆ‚ไธ‹็š„ไปฃ็ ๏ผŒ็ฑปๅๅˆ™ๅฏนๅบ”ๆ˜ฏtag็š„ๅ็งฐ

L.init(this.getClass());

ๅฝ“็„ถ๏ผŒinit() ้™คไบ†ๆ”ฏๆŒไผ ้€’ Class ๅฏน่ฑก๏ผŒ่ฟ˜ๆ”ฏๆŒไผ  String ๅฏน่ฑกใ€‚

LogLevel

ๆ”ฏๆŒไปฅไธ‹ๅ‡ ็งๆ—ฅๅฟ—็บงๅˆซ๏ผŒ้™คๆญคไน‹ๅค–่ฟ˜่ƒฝๅฐ†ไปปไฝ•ๅฏน่ฑกๆ‰“ๅฐๆˆjsonๆ ผๅผ

ๆ–นๆณ•ๅ ไฝœ็”จ
e() Error็บงๅˆซๆ‰“ๅฐๆ—ฅๅฟ—
w() Warn็บงๅˆซๆ‰“ๅฐๆ—ฅๅฟ—
i() Info็บงๅˆซๆ‰“ๅฐๆ—ฅๅฟ—
d() Debug็บงๅˆซๆ‰“ๅฐๆ—ฅๅฟ—
json() ๅฐ†ๆ—ฅๅฟ—ไปฅjsonๆ ผๅผๆ‰“ๅฐๅ‡บๆฅ

่ฟ˜ๅฏไปฅ่ฎพ็ฝฎๅ…จๅฑ€็š„ๆ—ฅๅฟ—็บงๅˆซ๏ผŒๆœ€ๅฅฝๅœจApplicationไธญ่ฟ›่กŒๅ…จๅฑ€็š„้…็ฝฎใ€‚

javaไธญ็š„ไฝฟ็”จๆ–นๆณ•๏ผš

L.setLogLevel(LogLevel.INFO);

kotlinไธญ็š„ไฝฟ็”จๆ–นๆณ•๏ผš

L.logLevel= LogLevel.INFO

Basic

ไปฅeใ€wใ€iใ€dๆ‰“ๅฐ็š„ๆ—ฅๅฟ—้ฃŽๆ ผๅฆ‚ไธ‹๏ผš
็ฌฌไธ€่กŒๆ˜พ็คบ็บฟ็จ‹ๅ
็ฌฌไบŒ่กŒๆ˜พ็คบ็ฑปไธญๆ‰“ๅฐ็š„่กŒๆ•ฐ
็ฌฌไธ‰่กŒๆ˜พ็คบๆ‰“ๅฐ็š„ๅ…ทไฝ“ๅ†…ๅฎน

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
โ•‘ Thread: main
โ•Ÿโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ•‘ cn.salesuite.saf.aspects.TraceAspect.traceMethod  (TraceAspect.java:35)
โ•Ÿโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ•‘ loadUser() take [14ms]
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

jsonๆ–นๆณ•็š„ไฝฟ็”จ

Object obj = ...
L.json(obj);

Object

ๅคš็งๅฏน่ฑก็ฑปๅž‹้ƒฝๅฏไปฅไฝฟ็”จjson()ๆ–นๆณ•ๆ‰“ๅฐๆˆjson้ฃŽๆ ผใ€‚

Listใ€Set

        User u = new User();
        u.userName = "tony";
        u.password = "123456";

        List<User> list = new ArrayList<>();
        list.add(u);
        list.add(u);
        L.json(list);

        List<String> ids = new ArrayList<>();
        ids.add("123");
        ids.add("456");
        L.json(ids);

        List<Double> idd = new ArrayList<>();
        idd.add(123D);
        idd.add(456D);
        L.json(idd);

ๆ‰“ๅฐๆ•ˆๆžœ๏ผš

Map

        User u = new User();
        u.userName = "tony";
        u.password = "123456";
        
        Map<String,User> map = new HashMap<>();
        map.put("tony",u);
        map.put("tt",u);
        L.json(map);

        Map<String,String> map2 = new HashMap<>();
        map2.put("tony","shen");
        map2.put("tt","ziyu");
        L.json(map2);

        Map<String,Boolean> map3 = new HashMap<>();
        map3.put("tony",true);
        map3.put("tt",false);
        L.json(map3);

ๆ‰“ๅฐๆ•ˆๆžœ๏ผš

JSON String

        String jsonString = "{\n" +
                "    \"employees\": [\n" +
                "        {\n" +
                "            \"firstName\": \"Bill\",\n" +
                "            \"lastName\": \"Gates\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"firstName\": \"George\",\n" +
                "            \"lastName\": \"Bush\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"firstName\": \"Thomas\",\n" +
                "            \"lastName\": \"Carter\"\n" +
                "        }\n" +
                "    ]\n" +
                "}";

        L.json(jsonString);

ๆ‰“ๅฐๆ•ˆๆžœ๏ผš

Reference

        User u = new User();
        u.userName = "tony";
        u.password = "123456";
        
        L.json(new WeakReference<User>(u));

ๆ‰“ๅฐๆ•ˆๆžœ๏ผš

Throwable

L.e(new NullPointerException("this object is null"));

ๆˆ–่€…

L.json(new NullPointerException("this object is null"));

ๆ‰“ๅฐๆ•ˆๆžœ๏ผš

Bundle

        User u = new User();
        u.userName = "tony";
        u.password = "123456";
        
        Bundle bundle = new Bundle();
        bundle.putString("key1","this is key1");
        bundle.putInt("key2",100);
        bundle.putBoolean("key3",true);
        bundle.putSerializable("key4",u);
        L.json(bundle);

ๆ‰“ๅฐๆ•ˆๆžœ๏ผš

Intent

        User u = new User();
        u.userName = "tony";
        u.password = "123456";
        
        Bundle bundle = new Bundle();
        bundle.putString("key1","this is key1");
        bundle.putInt("key2",100);
        bundle.putBoolean("key3",true);
        bundle.putSerializable("key4",u);

        Intent i = new Intent(this,MainActivity.class);
        i.putExtras(bundle);
        L.json(i);

ๆ‰“ๅฐๆ•ˆๆžœ๏ผš

Uri

        Uri uri = Uri.parse("http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id=4#harvic");
        L.json(uri);

ๆ‰“ๅฐๆ•ˆๆžœ๏ผš

Header

ไน‹ๅ‰ๅ…ฌๅธ็š„ไบงๅ“ๅš่ฟ‡ deep link ไปฅๅŠ็งปๅŠจ็ซฏๅนฟๅ‘Š็›ธๅ…ณ็š„ sdkใ€‚ไปŽๅผ€ๅ‘่ฟ™ไบ›ไบงๅ“ไธญ๏ผŒๆˆ‘ไปฌ่Žทๅพ—็š„็ป้ชŒๆ˜ฏๆ—ฅๅฟ—้‡Œ่ฆๆ˜ฏ่ƒฝๅคŸ่ฎฐๅฝ•ๆ‰‹ๆœบ็š„ไธ€ไบ›ไฟกๆฏ๏ผŒๆ–นไพฟๆ นๆฎๆœบๅž‹ๅ’Œๆ“ไฝœ็ณป็ปŸ็‰ˆๆœฌๆฅ่ฐƒ่ฏ•bugๅฐฑๅฅฝไบ†ใ€‚

็”ฑๆญคไบง็”Ÿไบ† L ็š„Headerใ€‚้€šๅธธๆƒ…ๅ†ตไธ‹๏ผŒๆŠŠๆ‰‹ๆœบ็š„ไธ€ไบ›ไฟกๆฏๆ”พๅ…ฅ Header ไธญ๏ผŒๆ–นไพฟ่ฐƒ่ฏ•ๆ—ถไธ€็œผ่ฏ†ๅˆซๆ‰‹ๆœบๅ‡บ็š„ๆœบๅž‹ใ€ๆ“ไฝœ็ณป็ปŸ็‰ˆๆœฌๅทใ€App็‰ˆๆœฌๅท็ญ‰็ญ‰ใ€‚ไธ€ๆ—ฆๅฎšไน‰ๅฅฝ Header๏ผŒๆ‰€ๆœ‰ไฝฟ็”จ L ็š„ๆ—ฅๅฟ—ไธŠ้ƒฝไผšๆ˜พ็คบ Header ็š„ๅ†…ๅฎนใ€‚

Kotlin

ๅ€ŸๅŠฉ Kotlin ็š„ๆ‰ฉๅฑ•ๅ‡ฝๆ•ฐ็š„็‰นๆ€ง๏ผŒไปปไฝ•ๅฏน่ฑก้ƒฝๅฏไปฅไฝฟ็”จjson()ๆ–นๆณ•ๆฅๆ‰“ๅฐๅ…ถ่‡ช่บซใ€‚

ไนŸๆ”ฏๆŒๅฝขๅฆ‚๏ผš

L.i {
   "hi $message"
}
L.i("customerTag") {
   "hi $message"
}
โš ๏ธ **GitHub.com Fallback** โš ๏ธ