Kotlin:
Escribiendo en el error estándar
Cómo hacerlo:
En Kotlin, escribir en stderr se puede lograr utilizando System.err.println()
. Este método es similar a System.out.println()
, pero dirige la salida al flujo de error estándar en lugar del flujo de salida estándar.
fun main() {
System.err.println("¡Este es un mensaje de error!")
}
Salida de muestra:
¡Este es un mensaje de error!
Para aplicaciones más estructuradas o complejas, particularmente aquellas que involucran marcos de registro como Logback o SLF4J, puedes configurar los registradores para escribir en stderr para ciertos niveles de registro (por ejemplo, ERROR).
Usando SLF4J con Logback:
- Primero, agrega la API SLF4J y la implementación de Logback a tu
build.gradle
:
dependencies {
implementation 'org.slf4j:slf4j-api:1.7.30'
implementation 'ch.qos.logback:logback-classic:1.2.3'
}
- A continuación, configura Logback (en
src/main/resources/logback.xml
) para dirigir mensajes de nivel de error a 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>
- Luego, utiliza SLF4J en tu código Kotlin para registrar mensajes de error:
import org.slf4j.LoggerFactory
fun main() {
val logger = LoggerFactory.getLogger("EjemploLogger")
logger.error("¡Este es un mensaje de registro de error!")
}
Salida de muestra (a stderr):
2023-04-01 12:34:56 [main] ERROR EjemploLogger - ¡Este es un mensaje de registro de error!