Was hat Sie zu dieser Wunschliste inspiriert?
Das Erstellen des JMP-Protokolls beansprucht fast meinen gesamten Speicher, da JMP aufgrund eines Fehlers in meinem Code eine Liste mit 20 Millionen zu protokollierenden Elementen drucken wollte. Und wenn Sie sich dann nicht daran erinnern, dass Sie Clear Log() verwenden müssen, anstatt das Protokoll schneller mit Strg + A + Entf zu löschen, ist es besser, JMP einfach zwangsweise zu schließen.
JMP kann das Protokoll in manchen Fällen auch viel kürzer machen, z. B. mit Get Session Script(), aber es druckt nur „…“ und ist im Allgemeinen nicht wirklich nützlich (ist das Sitzungsskript wirklich nur … oder nur eine lange Textzeichenfolge, die JMP nicht drucken wollte (letzteres in diesem Fall)).

JMP sollte weiterhin ins Protokoll drucken, zumindest den Anfang und das Ende des Protokolls anzeigen UND das Protokoll für einzelne Ausdrucke klein genug halten, um keine Systemabstürze zu verursachen.
Welche Verbesserung würden Sie gerne sehen?
Ich möchte, dass das JMP-Protokoll intelligenter ist, wenn der Benutzer versehentlich eine Warnung anzeigt ODER absichtlich langen Text in das Protokoll druckt (Matrizen, Listen, selten Ausdrücke). Die Warnung kann „Scheren“ hinzufügen und nur Anfang und Ende der Protokollnachricht anzeigen. Das Protokollfenster könnte mehr als das Warnfenster anzeigen, aber immer noch nicht übermäßig viel, AUSSER der Benutzer gibt an, dass er alles sehen möchte -> es sollte auch eine Möglichkeit geben, das gesamte Protokoll anzuzeigen (vielleicht in einer temporären Datei speichern, die der Benutzer öffnen könnte?).
Dieses Beispiel erzeugt noch keine unmöglich lange Protokollmeldung. Sie können längere Meldungen erzeugen, indem Sie der Tabelleninitialisierung ein paar Nullen hinzufügen, aber ich würde das nicht empfehlen.
Names Default To Here(1);
dt = New Table("Test",
Add Rows(1000000),
New Column("Row", Numeric, Ordinal, Formula(Row())),
Invisible
);
dt << New Column("Str", Character, Nominal, Set Each Value(
Repeat(Hex(:Row), 2)
));
/*
// Don't make the mistake of running this line as it will print excessively long list to log
dt[0, "Str"];
*/
m = dt[0, "Str"]; // List( 100000 elements ) assigned.
/*
Loc(Is Missing(dt[0, "Str"])); // prints' everything to log, but alert has just part of it
*/
/*
wait(0);
l = 0;
For Each({line}, Get Log(),
l = l + Length(line);
);
show(l);
*/
Warnfenster mit der Schere

und ich komme in mein Protokoll mit 3.000.972 Zeichen Text.
Warum ist diese Idee wichtig?
Verhindert das Sperren von JMP, wenn Sie lange Protokollmeldungen haben, die versehentlich, aufgrund von Fehlern oder mit Absicht gedruckt werden können.