# Wieso gehen Log nicht im Service?



## wer112 (7. Aug 2022)

Ich fange an, mein meist gehasstes Bereich zu erlernen. Wie ihr wisst, habe ich große Probleme mit Backgroud Prozesse.

Ich habe mir ein neues Service erstellt und erfolgreich aufgerufen.

Jetzt möchte ich gewissene Daten per Log.e(); anzeigen lassen, da der Kunde ja nicht zugespammt werden möchte.

Toast klappt zur 80% in dem Service.

Leider geht überhaubt keine Logs.  Diese werden nicht im Logcat angezeigt.
Toast mit this gehen super... 

*Wer hat eine Ahnung, wiso das im Service nicht geht, aber Toast?*

Würde gerne nachvollziehen wollen, wo ich mich befinde bzw. die Importierte Werte anzeigen lassen möchte...

Ich danke euch schon mal im Vorfeld.


----------



## KonradN (7. Aug 2022)

Also Logs kannst Du auch im Service schreiben. Wie schaust Du nach den Logmeldungen? Evtl. schaust Du direkt im Android Studio und hast da einen Filter aktiv, so dass die nicht angezeigt werden. Da ist meines Wissens ein Filter aktiv a.la. "show active application" und den solltest Du rausnehmen. Und dann kannst Du nach dem TAG, das Du in den Log-Nachrichten verwendest, suchen.

Ist aber schon einige Zeit her, dass ich mit Android was gemacht habe - kann sich also inzwischen etwas geändert haben.


----------



## Jw456 (8. Aug 2022)

Ich denke du vertauscht hier Log und Toast. Toast würde immer den Context der Activity brauchen, um auf dem Bildschirm  sichtbar zu werden.

Ein Log sollte immer gehen.
Aber ein "e"  error Log für eine einfache Status Meldung zu missbrauchen ist schon fast sträflich.



wer112 hat gesagt.:


> Jetzt möchte ich gewissene Daten per Log.e(); anzeigen lassen, da der Kunde ja nicht zugespammt werden möchte.



Diese Meldungen sieht der User deiner App ja garnicht. Wo Spamst du da was zu?


----------



## Jw456 (8. Aug 2022)

Log.d("Testausgabe", "Mein Name ist ..."); 

Und in der logcat kannst fu genau nach dem ersten Strings (Testausgabe) Fildern so das du nur diese siehst und nicht alle. Also die Meldungen von anderen Apps sind ausgeblendet. 


Benutzt du nun in deiner app immer genau den string bekommst du alle Meldungen deiner App angezeigt anderen nicht. 

Ich denke deine Filter Einstellungen
der Logcat sind nicht gut gewählt bei dir.

Du solltest dich etwas besser mit der logcat beschäftigen. Was die alles kann.


----------



## wer112 (9. Aug 2022)

KonradN hat gesagt.:


> Also Logs kannst Du auch im Service schreiben. Wie schaust Du nach den Logmeldungen? Evtl. schaust Du direkt im Android Studio und hast da einen Filter aktiv, so dass die nicht angezeigt werden. Da ist meines Wissens ein Filter aktiv a.la. "show active application" und den solltest Du rausnehmen. Und dann kannst Du nach dem TAG, das Du in den Log-Nachrichten verwendest, suchen.
> 
> Ist aber schon einige Zeit her, dass ich mit Android was gemacht habe - kann sich also inzwischen etwas geändert haben.


Ich gehe unten auf Logcat, dann stelle ich es auf Error um alle Error(Log.e) anzeigen zu lassen. Es erscheint da meine ganzen ausgaben. Habe den Standart Filter ausgestellt, kommt trotzdem kein Log.


----------



## Jw456 (9. Aug 2022)

zeige doch mal wie du das Log (code) machst und wie du es eingestellt hast


----------



## wer112 (9. Aug 2022)

Jw456 hat gesagt.:


> Ich denke du vertauscht hier Log und Toast. Toast würde immer den Context der Activity brauchen, um auf dem Bildschirm  sichtbar zu werden.


Der Toast erscheint ja, wenn er this hat. Aber der Log, zeigt im Backgroundservice nicht im Logcat an.


Jw456 hat gesagt.:


> Ein Log sollte immer gehen.


Leider geht der Log nicht im Service, sonst geht der überall...


Jw456 hat gesagt.:


> Aber ein "e"  error Log für eine einfache Status Meldung zu missbrauchen ist schon fast sträflich.


Ich benutze e, da d und i immer voll sind und ich kein Überblick bekomme, da es zu schnell durchläuft. Im e steht nixs drinnen, deswegen haue ich da meine Logs rein, da wird mir ja alles angezeigt... Aber das sieht der Kunde eh nicht. Für mich ist e einfacher zu arbeiten.

Natürlich kann ich es per Suche suchen, aber dann müsste ich den ersten Tag in der ganzen App gleichsein, damit alles anzeigt.

Aber das sollte keine Rolle Spielen, ob ich e oder d anzeigen lassen möchte. Es klappt im Service nicht.


Jw456 hat gesagt.:


> Diese Meldungen sieht der User deiner App ja garnicht. Wo Spamst du da was zu?


Es geht darum, wenn ich alle Logs als Toast machen würde, da nur Toast funktioniert leider...


----------



## wer112 (9. Aug 2022)

Jw456 hat gesagt.:


> zeige doch mal wie du das Log (code) machst und wie du es eingestellt hast




```
package com......Service;


import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;


public class InformationsService extends Service{

    String kundennummer = "kundennummer";
    String email = "Email Adresse";

    String guthaben = "0,00€";

    String uhrzeit = "0:00 Uhr";

    Integer farbe1 = 0, farbe2 = 0, farbe3 = 0, farbe4 = 0, farbe5 = 0, farbe6 = 0, farbe7 = 0, farbe8 = 0, farbe9 = 0;
    Integer angemeldetBleiben = 0, geldsendenauswahl = 0, usk = 0, auto_abmelden = 0, login_speichern = 0 , auto_login = 0, kpa = 0, gspa = 0, gapa = 0;




   //$info['angemeldet'] = $angemeldet;











    String sessionID = "";

    final static Integer NotiID = 100;



    @Override
    public IBinder onBind(Intent intent) {
        // TODO: Return the communication channel to the service.
        throw new UnsupportedOperationException("Not yet implemented");
    }

    @Override
    public void onCreate() {



        Log.e("OnCreateService", "Start");
        Log.d("oonCreate", "Starten");
        Toast.makeText(this, "OnCreateService", Toast.LENGTH_SHORT).show();
        InformationsImport();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {

        InformationsImport();

        Log.e("Spaßee", "OnStartCommand BackgroundService");
        Log.d("Spapppßee", "OnStartCommand BackgroundService ist das...");

        Toast.makeText(this, "OnStartCommand BackgroundService", Toast.LENGTH_SHORT).show();

        return START_STICKY; //Start_STICKY um den Hintergrund Prozess ständig auszuführen
    }



    @Override
    public void onDestroy() {
        super.onDestroy();
    }

    public void InformationsImport(){


        Log.e("Test163", "Warumm geht es nicht!");
        Log.d("Test100", "Warrr geht es nicht!");
        Toast.makeText(getApplicationContext(), "Das geht aber!", Toast.LENGTH_SHORT).show();



    }


}
```

Habe extra jetzt mal d mit reingenommen und habe im Debug in der Suchleiste mal Tes hingeschrieben, aber es wurde nixs angezeigt.

Die ganzen Toast werden aber angezeigt. 

Aber das der Log nicht klappt, das Problem habe ich nur im Service..


----------



## Jw456 (9. Aug 2022)

Dein Tag heist nicht "Tes"  sondern "oonCreate"
zeige ein Bild


----------



## Jw456 (9. Aug 2022)

frage was für einen service willst du machen bindet oder unbindet.
du gibst in onBind auch nichts zurück.

standart ist das


```
@Override
  public IBinder onBind(Intent intent) {
    //TODO for communication return IBinder implementation
    return null;
```










						Services overview  |  Android Developers
					






					developer.android.com


----------



## wer112 (9. Aug 2022)

Jw456 hat gesagt.:


> Dein Tag heist nicht "Tes"  sondern "oonCreate"
> zeige ein Bild


Ich meine in der Methode...

Habe das auch mit oonCreate probiert, aber nixs erscheint. Nur die ganzen Toast kommen...


----------



## Jw456 (9. Aug 2022)

du hast show onselected app...   denke durch den falschen Binder ist es nicht mehr in der App. stelle das wie schoon gesagt  auf keine filder.


----------



## wer112 (9. Aug 2022)

Jw456 hat gesagt.:


> du hast show onselected app...   denke durch den falschen Binder ist es nicht mehr in der App. stelle das wie schoon gesagt  auf keine filder.


Auch ohne Filter wird mir nixs angezeigt. Sonst ist egal ob ich mit Filter oder Ohne mache, es wurde bisher immer angezeigt. Aber im Service hat es nie funktioniert nur die this Toast.


----------



## Jw456 (9. Aug 2022)

weiss ich jetzt auch nicht bei mir ging es immer kann im monent  nicht testen.


----------



## Jw456 (9. Aug 2022)

Benutzt den Emulator oder dein Handy  mit Usb Kabel.


----------



## wer112 (9. Aug 2022)

Jw456 hat gesagt.:


> weiss ich jetzt auch nicht bei mir ging es immer kann im monent  nicht testen.


Jetzt geht es irgendwie, was ich nicht Verstehe, warum Das mit Filter die Service Logs nicht anzeigt.

Gestern hat 
KonradN das mit dem Filter ausschalten auch vorgeschlagen, als ich dies machte, hat es nicht funktioniert. Kein Plan wiso jetzt plötzlich...​
*Ich danke euch beiden*.

An Alle sollte die Logs im Service nicht anzeigen, den Filter auschalten alles neu laden und dann über die Suchfunktion, dann geht es...


----------



## Jw456 (9. Aug 2022)

Das du neu starten musst ist klar habe ich vorraus gesetzt. Eine meldung duch ist kommt sie nicht wieder.


----------



## wer112 (9. Aug 2022)

Jw456 hat gesagt.:


> Das du neu starten musst ist klar habe ich vorraus gesetzt. Eine meldung duch ist kommt sie nicht wieder.


Warum gehen alle anderen Logs mit diesem Filter, aber im Service geht es mit dem Filter nicht? Ligt es am Service, dass es ein anderer Process ist?


----------



## Jw456 (9. Aug 2022)

Schaue dir mal deinen binder an.
Was der return.


----------



## wer112 (9. Aug 2022)

Jw456 hat gesagt.:


> Schaue dir mal deinen binder an.
> Was der return.


Unsupport kling wie, dass er nicht supported xD. Ich verstehe aktuell noch garnixs, was alles gemacht wird und wie die ganzen Sachen läuft...

Welchen return müsste da hin zum supporten?


----------



## Jw456 (9. Aug 2022)

Schaue post #10


----------

