是什麼激發了這個願望清單請求?
由於我的程式碼中存在錯誤,JMP 想要列印包含 2000 萬個項目的清單以進行記錄,因此製作 JMP 日誌幾乎佔用了我所有的記憶體。然後,如果您不記得必須使用 Clear Log() 而不是更快的 Ctrl + A + Delete 來清除日誌,那麼最好強制關閉 JMP。
在某些情況下,JMP 還能夠使日誌變得更短,例如Get Session Script(),但它只列印“...”,通常它並不是真正有用(會話腳本真的只是...還是只是長字串) text jmp 不想列印(在本例中為後者))。

JMP 仍應列印到日誌,至少顯示日誌的開頭和結尾,並保持單次列印的日誌足夠小,以免導致鎖定。
您希望看到什麼改進?
我希望 JMP 日誌在使用者意外顯示警報或故意列印長文字以記錄(矩陣、列表、很少的表達式)時更加聰明。警報能夠添加“剪刀”並僅顯示日誌訊息的開頭和結尾。日誌視窗可以顯示比警報視窗更多的內容,但仍然不會過多,除非用戶指定他們希望查看所有內容 - >還應該有一種方法來查看整個日誌(也許將其保存到用戶可以打開的臨時文件中?
此範例尚未建立不可能的長日誌訊息。您可以透過在表初始化中添加幾個零來創建更長的時間,但我不建議這樣做。
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);
*/
用剪刀的警報窗口

我得到了 3 000 972 個字元的文字日誌。
為什麼這個想法很重要?
當您有可能因錯誤或故意而意外列印的長日誌訊息時,請防止 JMP 鎖定。