Kotlin:
Kirjoittaminen standardivirheeseen

Kuinka:

Kotlinissa stderr:iin kirjoittaminen voidaan saavuttaa käyttämällä System.err.println(). Tämä metodi on samankaltainen kuin System.out.println(), mutta ohjaa tulosteen standardivirhevirtaan eikä standarditulostevirtaan.

fun main() {
    System.err.println("Tämä on virheviesti!")
}

Esimerkkituloste:

Tämä on virheviesti!

Rakenteellisempien tai monimutkaisempien sovellusten kohdalla, erityisesti kun käytössä ovat lokituskehykset kuten Logback tai SLF4J, voit konfiguroida lokittajat kirjoittamaan tiettyjen lokitasojen (esim. VIRHE) viestejä stderr:iin.

Käyttäen SLF4J:ta Logbackin kanssa:

  1. Ensiksi, lisää SLF4J API ja Logbackin toteutus build.gradle-tiedostoosi:
dependencies {
    implementation 'org.slf4j:slf4j-api:1.7.30'
    implementation 'ch.qos.logback:logback-classic:1.2.3'
}
  1. Seuraavaksi, konfiguroi Logback (tiedostossa src/main/resources/logback.xml) ohjaamaan virhetason viestit stderr:iin:
<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. Sitten, käytä SLF4J:ta Kotlin-koodissasi logitaksesi virheviestejä:
import org.slf4j.LoggerFactory

fun main() {
    val logger = LoggerFactory.getLogger("ExampleLogger")
    logger.error("Tämä on virhelokitietue!")
}

Esimerkkituloste (stderr:iin):

2023-04-01 12:34:56 [main] VIRHE ExampleLogger - Tämä on virhelokitietue!