Meta-Hinweis: Ich kann das Kotlin-Tag nicht hinzufügen, da ich weniger als 300 Repräsentanten auf dieser Seite habe und es noch nicht existiert
Ich arbeite an einem plattformübergreifenden Projekt, das in Java und Kotlin geschrieben ist, und ich brauche eine anständige Protokollierung. System.out
ist meiner Meinung nach kein guter Weg, um mit der Protokollierung umzugehen, also suche ich nach einer plattformübergreifenden Protokollierungsbibliothek.
Insbesondere muss es für Desktop und Android funktionieren.
Die Projektstruktur selbst sieht folgendermaßen aus:
implementation project(":core")
), plattformspezifisches Android-Zeug (an Kern übergeben)implementation project(":core")
), plattformspezifisches Desktop-Zeug (an Core weitergegeben)Das bedeutet, dass die Bibliothek sowohl auf Android als auch auf dem Desktop funktionieren muss, da der Großteil der Codebasis gemeinsam genutzt wird (plattformspezifische Aufrufe würden sie aus offensichtlichen Gründen zum Absturz bringen, weshalb sie entweder einen bestimmten Port für jede der Plattformen haben muss , unterstützen aber weiterhin eine zentrale Implementierung oder arbeiten universell mit beiden Plattformen).
Die Bibliothek muss nicht in Java oder Kotlin geschrieben sein, aber sie muss in einer JVM-Sprache (Java, Kotlin, Scala, Groovy usw.) geschrieben sein.
Ich verwende die Java-Standardprotokollierungsbibliothek slf4j
Benutzer36601
1.7.25
für die Version (1.7.25-1
für die Android-Version) verwendet. Es ist wahrscheinlich erwähnenswert, dass der Android-Port das Paket in geändert hatuk.uuid.slf4j
. Ich habe etwas über slf4j recherchiert, als ich versuchte, die Eigenschaften herauszufinden, und bin über logback gestolpert (das als Desktop-"Port" des Loggers läuft), also verwende ich das anstelle von slf4j-simple. Obwohl die Protokolle immer noch slf4j verwenden, scheinen sie auf Android und Desktop ohne große Probleme zu funktionieren. Vielen Dank!Basil Bourque