我写了一个非常简单的Android Activity:
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("TAG", "onCreate() Log call 1");
Log.d("SMS", "onCreate() Log call 2");
Log.d("TEST", "onCreate() Log call 3");
finish();
}
@Override
protected void onDestroy() {
Log.d("TAG", "onDestroy() Log call 1");
Log.d("SMS", "onDestroy() Log call 2");
Log.d("TEST", "onDestroy() Log call 3");
super.onDestroy();
}
}
我希望这会生成 6 条日志消息(3 条来自onCreate()
,3 条来自onDestroy()
)。这是日志猫:
04-14 17:31:58.363: D/TAG(18084): onCreate() Log call 1
04-14 17:31:58.363: D/TEST(18084): onCreate() Log call 3
04-14 17:31:59.905: D/TAG(18084): onDestroy() Log call 1
04-14 17:31:59.905: D/TEST(18084): onDestroy() Log call 3
可以看出,带有“SMS”标签的行没有通过。据我所知,这不是一个有记录的事情。问题是,为什么?
编辑:有关答案的更多详细信息。
Matthew Burke 下面给出了一个相当好的答案。简而言之,根据 的源代码logd_write.c
,似乎:
Log
带有以下标签的请求会自动重定向到radio
日志:HTC_RIL
- 开头的标签
RIL
AT
GSM
STK
CDMA
PHONE
SMS
- 没有
Log
请求被重定向到events
日志(或system
日志,另请参见http://elinux.org/Android_Logging_System) - 所有其他
Log
请求都进入main
日志,通常是被监控的。