编辑:这个问题的一个更完善的版本,一个很好的答案是在:Rather odd behaviour of Log
编辑:(bizarre)解决方案报告为下面的答案。
我有一个服务,它是运行良好的应用程序的一部分,尽管有一些我试图理解的异常行为。为此,我一直将Log.d语句放在类中的各种方法中,以报告各个点的状态信息。除了Service类中的所有这些,所有这些似乎都可以工作(即报告信息)。我知道该服务已启动是因为(a)它执行某些操作,并且(b)它实例化的线程正在发出Log.d消息。但是,即使刚开始时:
@Override
public void onCreate() {
super.onCreate();
Log.d("SMS", "onCreate()");
onCreateReal();
}
此日志消息永远不会出现。我可能做错了什么?
清单如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.stuff.myapp"
android:versionCode="1111111"
android:versionName="0.1" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.stuff.myapp.Core"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name="MyService"></service>
<receiver android:name="com.stuff.myapp.WidgetInitiator">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_information"/>
</receiver>
<activity android:name="com.stuff.myapp.ConfigWidgetActivity"
android:theme="@android:style/Theme.Translucent">
</activity>
</application>
[编辑:另一观察]
作为应用程序的一部分,我每2分钟调用一次BroadcastReceiver类(在测试中)。该类是独立的(即不在任何其他类之内)。每次被AlarmManager调用时,它都会执行一个Log.d。但是只有他的Log调用中有一部分可以进入logcat。同样,欢迎提出建议以解决此处可能发生的情况。
[编辑:我已纠正上述问题,因为它实例化的线程正确报告了Log调用,但它实例化的类却没有。
最佳答案
在解决基本问题(参见Service being re-Created by AlarmManager)方面做了很多工作之后,我仍然遇到这个问题。该服务仍未记录。毫无疑问,将TAG从“ SMS”更改为“ SMservice”使它可以工作。除了解决问题外,我无法提供任何很好的解释。
而且,为了避免您的询问,如果我将TAG更改回“ SMS”,消息将再次消失。
关于android - 日志无法正常工作(或似乎掉了几行),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15409796/