new object $log: $note; var $described prose = ["the place that Ye administrators should be logging somewhat impacting changes that others would like to know about."]; var $has_commands remote = #[["read", [["read", "* on *", "read <any> on <this>", 'read_cmd, #[[1, ['any, []]], [3, ['this, []]]]]]]]; var $has_name name = ['uniq, "Generic Log", "the Generic Log"]; var $has_text text = ["9-28-94/22:33:17> foo"]; var $located location = $void; var $located obvious = 1; var $root created_on = 796268969; var $root fertile = 1; var $root flags = ['methods, 'code, 'fertile, 'core]; var $root inited = 1; var $root managed = [$log]; var $root manager = $log; var $root trusted = []; var $thing gender = $gender_neuter; public method .log() { arg line; var l; (> .perms(caller(), 'trusts) <); if (type(line) == 'list) { for l in (line) .ins_line((($time.format("%d %h %y %H:%M")) + "> ") + l); } else { .ins_line((($time.format("%d %h %y %H:%M")) + "> ") + line); } }; public method .read_cmd() { arg @args; var loglen, text; if (0) { // later on i'll adjust this so you can 'read from line 12 on log' return; } else { text = .text(); loglen = text.length(); sender().tell(["---", (((((.name()) + ", entries ") + tostr(loglen - 10)) + " to ") + tostr(loglen)) + " (last 10 lines).", "---"]); sender().tell(text.subrange(loglen - 10)); sender().tell("---"); } }; root method .uninit_log() { .set_text([]); };