Kotlin:
Écrire sur l'erreur standard

Comment faire :

En Kotlin, écrire sur stderr peut être réalisé en utilisant System.err.println(). Cette méthode est similaire à System.out.println() mais dirige la sortie vers le flux d’erreur standard plutôt que le flux de sortie standard.

fun main() {
    System.err.println("Ceci est un message d'erreur !")
}

Exemple de sortie :

Ceci est un message d'erreur !

Pour des applications plus structurées ou complexes, particulièrement celles qui impliquent des cadres de journalisation comme Logback ou SLF4J, vous pouvez configurer des enregistreurs pour écrire sur stderr pour certains niveaux de log (par exemple, ERROR).

Utilisation de SLF4J avec Logback :

  1. D’abord, ajoutez l’API SLF4J et l’implémentation Logback à votre build.gradle :
dependencies {
    implementation 'org.slf4j:slf4j-api:1.7.30'
    implementation 'ch.qos.logback:logback-classic:1.2.3'
}
  1. Ensuite, configurez Logback (dans src/main/resources/logback.xml) pour diriger les messages de niveau d’erreur vers stderr :
<configuration>
    <appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
        <target>System.err</target>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    
    <root level="error">
        <appender-ref ref="STDERR" />
    </root>
</configuration>
  1. Ensuite, utilisez SLF4J dans votre code Kotlin pour enregistrer les messages d’erreur :
import org.slf4j.LoggerFactory

fun main() {
    val logger = LoggerFactory.getLogger("ExampleLogger")
    logger.error("Ceci est un message de journalisation d'erreur !")
}

Exemple de sortie (vers stderr) :

2023-04-01 12:34:56 [main] ERROR ExampleLogger - Ceci est un message de journalisation d'erreur !