Benutzerdefinierte AEM-Protokolle werden nicht in Cloud Manager angezeigt
Benutzerdefinierte Protokollanweisungen werden in Cloud Manager nicht angezeigt, wenn der Logger für das Schreiben in eine benutzerdefinierte Protokolldatei konfiguriert ist, die OSGi-Werkskonfiguration falsch benannt ist oder die Protokollebene zu restriktiv ist. AEM as a Cloud Service unterstützt keine benutzerdefinierten Protokolldateien und stellt nur Standard-Streams wie aemerror bereit, sodass an anderer Stelle gesendete Ausgaben ignoriert werden. Durch die Korrektur des Logger-Dateipfads, des Konfigurationsdateinamens und der Protokollebene werden die erwarteten Einträge wiederhergestellt. Um das Problem zu beheben, verweisen Sie die Protokollierung auf logs/error.log und wenden Sie gültige Konfigurationswerte an.
Beschreibung description
Umgebung
- Adobe Experience Manager as a Cloud Service
- AEM Managed Services
- Adobe Experience Manager Assets Essentials
Problem/Symptome
- Benutzerdefinierte Protokolldateien wie
my-custom.logodersaml.logwerden in Cloud Manager nicht angezeigt. - Protokollanweisungen werden trotz erfolgreicher Ausführung nicht
aemerrorangezeigt. - Log Tail-Befehle schlagen beim Zugriff auf benutzerdefinierte Protokolldateien fehl.
- INFO- oder DEBUG-Protokolleinträge werden aufgrund einer eingeschränkten Protokollebene nicht angezeigt.
Ursache
AEM as a Cloud Service erzwingt ein zentralisiertes Protokollierungsmodell, das alle Java-Protokollausgaben in logs/error.log schreibt. Daher werden alle Konfigurationen ignoriert, die benutzerdefinierte Protokolldateipfade definieren. Falsche OSGi-Logger-Konfigurationen, ungültige Dateibenennungskonventionen oder restriktive Einstellungen für die Protokollebene verhindern ebenfalls, dass Protokollanweisungen im aemerror-Stream angezeigt werden.
Lösung resolution
Führen Sie diese Schritte aus, um das Problem zu beheben
- Überprüfen Sie die OSGi-Logger-Konfigurationen in Ihrem Code-Repository und identifizieren Sie alle Konfigurationen, bei denen
org.apache.sling.commons.log.fileanstelle vonlogs/error.logeinen benutzerdefinierten Protokolldateipfad angibt. org.apache.sling.commons.log.fileAktualisieren Sie die Logger-Konfiguration, um die unterstützte Datei zu verwenden, indem Sie sie auflogs/error.logsetzen und überprüfen, ob alle zugehörigen Eigenschaften gültige Werte verwenden.- Überprüfen Sie, ob der Name der Konfigurationsdatei dem erforderlichen
org.apache.sling.commons.log.LogManager.factory.config-.cfg.jsonentspricht, und entfernen Sie ungültige Zeichen wie Tilde ( ). - Überprüfen Sie die Konfiguration der Protokollebene und setzen Sie sie auf einen gültigen Kleinbuchstabenwert wie
debug,info,warnoder Fehler, um sicherzustellen, dass die erwartete Ausgabe nicht eingeschränkt wird. - Überprüfen Sie alle Logger-Konfigurationen und entfernen Sie doppelte oder widersprüchliche Definitionen für dasselbe Paket.
- Stellen Sie die aktualisierte Konfiguration über die Pipeline bereit und überprüfen Sie, ob Protokolleinträge im
aemerrorProtokolldatenstrom“ in Cloud Manager angezeigt werden.