2013-03-14 58 views
1

編輯:這個問題的更磨練版本,具有很好的答案,是:Rather odd behaviour of Log登錄不工作(或似乎下降了一些行)

編輯:(怪異)解決方案報告如下答案。

我有一個服務作爲一個運行相當好的應用程序的一部分,雖然有一個我試圖理解的不尋常的行爲。爲此,我一直在將Log.d語句放在類的各種方法中,以在各個點報告狀態信息。所有這些似乎都在工作(即報告信息),除了服務類中的那些。我知道該服務已啓動,因爲(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。再次,建議歡迎這裏可能發生的事情。

[編輯:我已經糾正了上述,因爲線程它實例報告記錄呼叫正確的,但它的類實例化沒有。]

+0

您的標籤過濾器設置爲「SMS」以外的其他任何機會?可能不會但值得拍攝! – caiocpricci2 2013-03-14 12:55:16

+0

好的想法,但我已經通過未經過濾的結果進行搜索,它不存在... – 2013-03-14 15:38:27

+0

我有同樣的問題與你。不知道爲什麼它的行爲如此 – 2013-06-07 05:32:37

回答

1

經過很多工作,解決了潛在的問題(見Service being re-Created by AlarmManager),我仍然有這個問題。該服務仍然沒有記錄。沒有理由我可以解釋,將TAG從「SMS」更改爲「SMservice」使其起作用。除了解決問題之外,我不能提供任何好的解釋。

而且,爲了節省您的詢問,如果我將TAG更改回「SMS」,消息會再次消失。

0

你應該使用「標籤:短信」在logcat中的過濾器。

+0

我想知道你爲什麼這樣說 - 我已經通過未過濾的結果進行搜索,它不存在,將設置這個過濾器顯示的東西不在未經過濾的結果中? – 2013-03-14 15:39:10

+0

logcat垃圾郵件時很容易錯過調試日誌。 – 2013-03-14 16:03:40

+0

好吧,公平點,但這裏沒有問題 - 你知道爲什麼Log.d可能不會發生(或到達logcat)的任何其他原因? – 2013-03-14 16:04:43