| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- #nop vim: set filetype=tt:;
- /*
- 模块名称:日志模块
- 模块说明:本文件属于框架代码的一部分,不建议修改。如有需求请在 GitHub 发 issue 或者 PR
- 版权声明:本文件属于 PaoTin++ 的一部分
- ===========
- PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
- 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
- ===========
- */
- #var gLog[buffer] {buffer.log};
- #var gLog[socket] {socket.log};
- #var gLog[info] {info.log};
- #var gLog[ok] {ok.log};
- #var gLog[warn] {warn.log};
- #var gLog[error] {error.log};
- #var gLog[debug] {debug.log};
- #var gLog[PATH] {log};
- #func {InitLog} {
- #local path {%1};
- #local output {};
- #script output {test -d var && echo true || echo false};
- #if { "$output[1]" == "true" } {
- #var gLog[PATH] {var/log};
- };
- #else {
- #var gLog[PATH] {log};
- };
- #if { !@mkdir{$gLog[PATH]/$path} } {
- #return 0;
- };
- #var gLog[PATH] {$gLog[PATH]/$path};
- load-lib option;
- option.Define {EchoCommand} {Bool} {是否回显发送的命令} {false};
- #return 1;
- };
- #alias {mudLog} {log.write {$gLog[socket]} {%0}};
- #alias {okLog} {log.write {$gLog[ok]} {<129>%0} {ECHO}};
- #alias {warnLog} {log.write {$gLog[warn]} {<139>%0} {ECHO}};
- #alias {errLog} {log.write {$gLog[error]} {<119>%0} {ECHO}};
- #alias {infoLog} {log.write {$gLog[info]} {%0} {ECHO}};
- #alias {dbgLog} {log.write {$gLog[debug]} {%0}};
- #alias {noLog} {#0};
- #alias {{[a-z]{1,10}}Log %*} {
- #local logName {};
- #format logName {%l} {%1};
- log.write {${logName}.log} {%2};
- };
- #alias {log.write} {
- #local file {%1};
- #local text {%2};
- #local echo {%3};
- #line logmode stamp #line log {$gLog[PATH]/$file} {$text<099>};
- #if { "$echo" == "ECHO" } {
- #echo {%s} {$text<099>};
- };
- };
- #event {RECEIVED INPUT} {
- #local needEcho {false};
- #if @option.IsDisable{EchoCommand} {
- #local needEcho {true};
- };
- #else {
- #line sub escape #var tmp {%0};
- #local cmds {};
- #list cmds create {$tmp};
- #if { &cmds[] > 1 } {
- #local needEcho {true};
- };
- };
- #if { "$needEcho" == "true" } {
- #local input {%0};
- #replace input {<} {\<};
- #echo {<029>%t INPUT: <429>%s<099>} {%Y-%m-%d %H:%M:%S} {$input};
- };
- };
- #alias {log.Open} {
- #config {LOG} {RAW};
- #config {LOG LEVEL} {HIGH};
- #log timestamp {%Y-%m-%d %H:%M:%S };
- #log append {$gLog[PATH]/$gLog[buffer]};
- #event {RECEIVED LINE} {mudLog %%0};
- #event {SEND OUTPUT} {log.sendLog %%0};
- };
- #alias {log.sendLog} {
- #local text {%0};
- #replace text {<} {\<};
- #format text {<029>SEND: <429>%p<099>} {$text};
- mudLog $text;
- #if @option.IsEnable{EchoCommand} {
- #echo {<029>%t %s} {%Y-%m-%d %H:%M:%S} {$text};
- };
- };
|