是什么启发了这个愿望清单请求?
由于我的代码有误,JMP 想要打印 2000 万个项目列表进行记录,因此 JMP 日志占用了我几乎所有的内存。然后,如果您不记得必须使用 Clear Log() 而不是更快的 Ctrl + A + Delete 来清除日志,最好直接强制关闭 JMP。
JMP 在某些情况下也能使日志变得更短,例如获取会话脚本(),但它只会打印“...”并且通常它并不是真正有用的(会话脚本真的只是...还是只是 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 锁定。