Mit JMP 17.2.0 versuche ich, die Ausgabe einer JSL-Protokolldatei von einer Konsole aus zu überwachen – (in diesem Fall Mac OS Terminal). Ich verwende das Schwanz Befehl mit dem -F Option zur Live-Anzeige der Aktualisierungen, wann immer die Datei geschrieben wird.
$ tail -f log.txt
Die Konsolenausgabe wird jedoch nie aktualisiert, wenn neuer Text in das Protokoll geschrieben wird. Die folgende Beispiel-JSL gibt jede Sekunde eine Textzeile aus:
Open Log();
Clear Log();
For( ii=0, ii<10, ii++,
Write( "hello, world " || Char( ii ) || "\!n" );
Save Log( "log.txt" );
Wait( 1 );
);
Wenn ich das Skript starte, führe ich das aus Schwanz Befehl ein paar Sekunden später erhalte ich das erwartete Ergebnis:
$ tail -f log.txt
/*:hello, world 0
hello, world 1
hello, world 2
hello, world 3
Nachfolgende JSL-Protokollnachrichten werden jedoch nicht erfasst Schwanz Befehl. Wenn ich Strg-C aus, dann erneut ausführen Schwanz , erhalte ich zu diesem Zeitpunkt ordnungsgemäß alles, was in der Protokolldatei ausgegeben wird. Aber die Ausgabe wird nie wieder aktualisiert.
Irgendwelche Gedanken, warum das nicht funktioniert? Oder gibt es vielleicht eine andere Möglichkeit, eine Protokolldatei zu verwalten, bei der dies wie erwartet funktionieren würde?