Référence
DiagnosticLog
Journaux applicatifs avec rotation, regroupement des répétitions et suivi des erreurs.
Contexte d’utilisation
| Module | Package | Source SDK |
|---|---|---|
| Kotlin/JVM | fr.nimby.sdk | kotlin-client/src/main/kotlin/fr/nimby/sdk/DiagnosticLog.kt |
API publique du SDK 0.9.0-alpha.2. Chaque entrée donne la signature Kotlin et son contrat : sens de la valeur, conditions d’utilisation et effets à connaître. Choisissez les imports du module indiqué ci-dessus.
import fr.nimby.sdk.DiagnosticLogDiagnosticLog
class DiagnosticLog(val component: String, root: Path = defaultRoot(),
maximumBytes: Long = 2 * 1024 * 1024)Journal applicatif avec rotation et regroupement des messages identiques. Le composant doit être un nom de 1 à 80 caractères alphanumériques, point, tiret ou soulignement, différent de « . » et « .. ». Ne pas journaliser chaque lecture réussie.
DiagnosticLog.component
val component: StringNom du composant utilisé dans le dossier et les lignes du journal.
DiagnosticLog.Companion.defaultRoot
fun defaultRoot(): PathUtilise NRF_LOG_DIR si renseigné ; sinon NimbyRailsFrance/logs sous LOCALAPPDATA, ou le dossier utilisateur si cette variable manque.
DiagnosticLog.Companion.forComponent
fun forComponent(name: String): DiagnosticLogRéutilise le journal du nom donné dans cette application, pour partager le regroupement des répétitions.
DiagnosticLog.directory
val directory: PathDossier du composant sous la racine du journal.
DiagnosticLog.file
val file: PathFichier du composant et du PID de l’application ; ne contient pas les sauvegardes du jeu.
DiagnosticLog.write
fun write(message: String, failure: Throwable? = null, level: String = if (failure == null) "INFO" else "ERROR"): UnitÉcrit un événement et éventuellement une exception ; regroupe les répétitions identiques pendant 30 secondes. Ferme le fichier après écriture ; une erreur d’écriture est rapportée sur stderr.
DiagnosticLog.startApplication
fun startApplication(version: String): UnitÀ installer une seule fois au point d’entrée de votre application. Journalise version, erreurs JVM non interceptées et arrêt ; conserve le gestionnaire précédent. N’intercepte pas tous les crashs natifs.