Teilen stdout zwischen mehreren threads/Prozessen

Ich habe ein linux-Programm(die Sprache spielt dabei keine Rolle), die gedruckt log auf stdout.
Das Protokoll IST erforderlich für die überwachung des Prozesses.

Nun ich werde parallelisieren es durch die Gabel ' Ing oder mit threads.

Das problem: die resultierende stdout enthalten nicht lesbare Mischung von nicht verwandten Linien...

Und schließlich Die Frage: Wie würden Sie re-konstruieren die output-Logik für parallele Prozesse ?

  • Willst du split-log-ins getrennt pro Prozess/thread meldet, oder tun Sie nur wollen, zu vermeiden, mischen Ausgabe von mehreren Prozessen innerhalb einer Zeile?
  • Es sollten visuell getrennt pro Prozess. So könnte der Benutzer zu verstehen, den status jeder Aufgabe. Atomic Linien ist ein kleines problem, ich werde einfach einige Synchronisations-Objekt.
  • Kennzeichnen Sie Ihre log-Zeilen mit etwas eindeutig pro Prozess, z.B. [process-$PID] oder [roleOfTheProcess]?
  • +1 Als eine der möglichen Ansätze... Noch auf der Suche nach einer Methode zur Trennung der Ausgang in sub-Protokolle, die pro Prozess.
  • Sie können tag und später filtern nach tags in sublogs
InformationsquelleAutor LiMar | 2012-06-07
Schreibe einen Kommentar