16 Asynchrones Logging

In der Regel sollte jedes Programm eine Möglichkeit haben, Informationen wie z. B. Fehler zu loggen. Hierbei sollte die Performance möglichst wenig beeinflusst werden. Deshalb erfolgt das Logging sehr oft »verzögert«, da das Schreiben in eine Datei recht aufwendig ist. In der Praxis werden daher mehrere Ausgaben zuerst in einem Puffer gesammelt. Codebeispiel 16.1 zeigt eine einfache Implementierung eines Loggers.

public class SimpleLogger{  private static final int CAPACITY = 1024;  private final StringBuilder log = new StringBuilder(CAPACITY);  public void log(String msg)  {    log.append(Thread.currentThread().getName())       .append(" : ")       .append(msg)       .append( System.lineSeparator() );    if (log.length() ...

Get Nebenläufige Programmierung mit Java now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.