Direkt zum Hauptinhalt

Logging

Der Service nutzt Serilog mit drei konfigurierbaren Sinks:

  • Console: Farbige Ausgabe im Kompaktformat (HH:mm:ss [INF] Message)
  • File: Tägliches Rolling in Logs/archivimport-YYYYMMDD.log (relativ zum Installationsverzeichnis)
  • Sentry: Fehler ab Error werden automatisch an Sentry gemeldet

Die gesamte Logging-Konfiguration erfolgt über die Serilog-Sektion in appsettings.json:

{
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Warning",
        "System": "Warning"
      }
    },
    "WriteTo": [
      {
        "Name": "Console",
        "Args": {
          "outputTemplate": "{Timestamp:HH:mm:ss} [{Level:u3}]  {Message:lj}{NewLine}{Exception}"
        }
      },
      {
        "Name": "File",
        "Args": {
          "path": "Logs/archivimport-.log",
          "rollingInterval": "Day",
          "retainedFileCountLimit": 30,
          "fileSizeLimitBytes": 10485760,
          "rollOnFileSizeLimit": true,
          "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level:u3}] {Message:lj}{NewLine}{Exception}"
        }
      },
      {
        "Name": "Sentry",
        "Args": {
          "dsn": "https://...",
          "minimumBreadcrumbLevel": "Information",
          "minimumEventLevel": "Error"
        }
      }
    ]
  }
}

File-Logging

Parameter Standard Beschreibung
path Logs/archivimport-.log Pfad und Dateinamenmuster. Das Datum wird automatisch eingefügt (archivimport-20260220.log)
rollingInterval Day Rotationsintervall (Day, Hour, Month)
retainedFileCountLimit 30 Maximale Anzahl aufbewahrter Log-Dateien
fileSizeLimitBytes 10485760 (10 MB) Maximale Dateigrösse pro Log-Datei
rollOnFileSizeLimit true Bei Überschreitung der Dateigrösse eine neue Datei beginnen

Log-Level anpassen

Über MinimumLevel.Default wird das globale Minimum gesteuert. Mit Override können einzelne Namespaces gezielt lauter oder leiser geschaltet werden:

"MinimumLevel": {
  "Default": "Debug",
  "Override": {
    "Microsoft": "Warning",
    "System": "Warning"
  }
}

Verfügbare Level: Verbose, Debug, Information, Warning, Error, Fatal