So leiten Sie Protokolle um

Person Github

Die Methode der Protokollumleitung hängt von der Programmiersprache, dem Framework und der Protokollierungsbibliothek ab, die Sie verwenden. Hier sind einige gängige Methoden:

1. Python (mit loggingBibliothek)

In Python können Sie die Protokollierung auf die Standardausgabe (stdout) umleiten:

import logging
import sys

logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
logging.debug("This will go to stdout")

2. Node.js (mit console.log)

In Node.js console.logund console.errorstandardmäßig in stdout und stderr ausgegeben, sodass Sie keine zusätzliche Konfiguration vornehmen müssen.

3. Java (mit Log4j)

In der Log4j-Konfigurationsdatei können Sie die Protokollausgabe auf stdout setzen:

<Console name="Console" target="SYSTEM_OUT">
  <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>

4. Shell-Skript

In einem Shell-Skript können Sie den Umleitungsoperator verwenden:

# Redirect stdout to a file
./your_script.sh > output.log

# Redirect stderr to a file
./your_script.sh 2> error.log

# Redirect both stdout and stderr to a file
./your_script.sh &> both.log

5. Docker Compose

Wenn Ihre Anwendung in einer Docker Compose-Datei Protokolle an stdout und stderr ausgibt, können Sie den Protokolltreiber von Docker verwenden, um diese Protokolle zu sammeln:

services:
  your_service:
    image: your_image
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"

Auf diese Weise können Sie docker logs <container_id>diese Protokolle anzeigen.

6. Andere Anwendungen und Dienste

Viele moderne Anwendungen und Dienste (wie Nginx, Apache usw.) verfügen über Konfigurationsoptionen, mit denen Sie Protokolle nach stdout und stderr umleiten können.

Wie Sie dies implementieren, hängt von Ihrer Anwendung und dem von Ihnen verwendeten Technologie-Stack ab. Ich hoffe, diese Beispiele können Sie inspirieren!

おすすめ

転載: blog.csdn.net/m0_57236802/article/details/132846363