URL: https://linuxfr.org/forums/linux-general/posts/systemd-journld-ne-capture-pas-tous-les-messages-de-la-stdout Title: systemd/journld ne capture pas tous les messages de la STDOUT Authors: woffer 🐧 Date: 2015年12月16日T14:52:39+01:00 License: CC By-SA Tags: systemd, journald, ratelimitinterval et golang Score: 1 Bonjour à tous, J'aimerai déléguer la gestion de mes logs à systemd/journald. Donc, j'ai écrit un petit programme de test qui est une boucle infinie (ou pratiquement infinie) qui logue dans STDOUT un entier qui s'incrémente à chaque boucle. C'est un programme en go (mais ça aurait pu être en C ou autre chose) : ```go package main import ( "fmt" "math" "time" ) func main() { for i := uint64(0); i < math.MaxUint64; i++ { fmt.Println(i) time.Sleep(5 * time.Millisecond) } } ``` Je le lance avec le fichier unit suivant: ```ini [Unit] Description=log testing After=syslog.target network.target [Service] Type=simple ExecStart=/tmp/log_testing WorkingDirectory=/tmp/ [Install] WantedBy=multi-user.target ``` Lorsque je lance le programme avec la commande suivante : ``systemctl start log_testing.service`` Et que je regarde les log dans journald via : ``journalctl -u log_testing.service`` Et bien il y a des log manquants : ```syslog déc. 15 16:34:32 ... log_testing[29722]: 0 déc. 15 16:34:32 ... log_testing[29722]: 1 déc. 15 16:34:32 ... log_testing[29722]: 2 déc. 15 16:34:32 ... log_testing[29722]: 3 déc. 15 16:34:32 ... log_testing[29722]: 4 déc. 15 16:34:32 ... log_testing[29722]: 5 déc. 15 16:34:32 ... log_testing[29722]: 6 déc. 15 16:34:32 ... log_testing[29722]: 7 déc. 15 16:34:32 ... log_testing[29722]: 8 déc. 15 16:34:32 ... log_testing[29722]: 9 déc. 15 16:34:32 ... log_testing[29722]: 10 ... j'ai juste enlevé ces lignes pour ne pas trop surcharger (donc toutes les lignes sont présentes entre 10 et 995) ... déc. 15 16:34:37 ... log_testing[29722]: 995 déc. 15 16:34:37 ... log_testing[29722]: 996 déc. 15 16:34:37 ... log_testing[29722]: 997 déc. 15 16:34:37 ... log_testing[29722]: 998 déc. 15 16:34:37 ... log_testing[29722]: 999 déc. 15 16:34:37 ... log_testing[29722]: 1000 déc. 15 16:35:02 ... log_testing[29722]: 5841 <-- içi, ce n'est pas le numéro attendu (donc il manque les lignes de 1001 à 5841) déc. 15 16:35:02 ... log_testing[29722]: 5842 déc. 15 16:35:02 ... log_testing[29722]: 5843 déc. 15 16:35:02 ... log_testing[29722]: 5844 déc. 15 16:35:02 ... log_testing[29722]: 5845 déc. 15 16:35:02 ... log_testing[29722]: 5846 déc. 15 16:35:02 ... log_testing[29722]: 5847 ``` Il semblerait que systemd/journald capture les messages par tranche de 1000 messages. Savez-vous si c'est configurable ? Par avance merci

AltStyle によって変換されたページ (->オリジナル) /