log.tin 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #nop 日志模块;
  2. #var gLog[buffer] {buffer.log};
  3. #var gLog[socket] {socket.log};
  4. #var gLog[info] {info.log};
  5. #var gLog[ok] {ok.log};
  6. #var gLog[warn] {warn.log};
  7. #var gLog[error] {error.log};
  8. #var gLog[debug] {debug.log};
  9. #var gLog[PATH] {log};
  10. #function {InitLog} {
  11. #local path {%1};
  12. #script output {test -d var && echo true || echo false};
  13. #if { "$output[1]" == "true" } {
  14. #var gLog[PATH] {var/log};
  15. };
  16. #else {
  17. #var gLog[PATH] {log};
  18. };
  19. #if { "@mkdir{$gLog[PATH]/$path}" != "true" } {
  20. #return {false};
  21. };
  22. #var gLog[PATH] {$gLog[PATH]/$path};
  23. load-lib option;
  24. option.Define {EchoCommand} {Bool} {是否回显发送的命令} {false};
  25. #return {true};
  26. };
  27. #alias {mudLog} {log.write {$gLog[socket]} {%0}};
  28. #alias {okLog} {log.write {$gLog[ok]} {<120>%0} {ECHO}};
  29. #alias {warnLog} {log.write {$gLog[warn]} {<130>%0} {ECHO}};
  30. #alias {errLog} {log.write {$gLog[error]} {<110>%0} {ECHO}};
  31. #alias {infoLog} {log.write {$gLog[info]} {%0} {ECHO}};
  32. #alias {dbgLog} {log.write {$gLog[debug]} {%0}};
  33. #alias {{[a-z]{1,10}}Log %*} {
  34. #format logName {%l} {%1};
  35. log.write {${logName}.log} {%2};
  36. };
  37. #alias {log.write} {
  38. #local file {%1};
  39. #local text {%2};
  40. #local echo {%3};
  41. #line log {$gLog[PATH]/$file} {$text<070>};
  42. #if { "$echo" == "ECHO" } {
  43. #echo {%s} {$text<070>};
  44. };
  45. };
  46. #event {RECEIVED INPUT} {
  47. #local needEcho {false};
  48. #if { @option.IsDisable{EchoCommand} } {
  49. #local needEcho {true};
  50. };
  51. #else {
  52. #line sub escape #var tmp {%0};
  53. #local cmds {};
  54. #list cmds create {$tmp};
  55. #if { &cmds[] > 1 } {
  56. #local needEcho {true};
  57. };
  58. };
  59. #if { "$needEcho" == "true" } {
  60. #echo {<020>%t INPUT: <420>%s<070>} {%Y-%m-%d %H:%M:%S} {<420>%0<070>};
  61. };
  62. };
  63. #alias {log.Open} {
  64. #config {LOG} {RAW};
  65. #config {LOG LEVEL} {HIGH};
  66. #log timestamp {%Y-%m-%d %H:%M:%S };
  67. #log append {$gLog[PATH]/$gLog[buffer]};
  68. #event {RECEIVED LINE} {mudLog %%0};
  69. #event {SEND OUTPUT} {
  70. #local text {};
  71. #format text {<020>SEND: <420>%p<070>} {%%0};
  72. mudLog $text;
  73. #if { @option.IsEnable{EchoCommand} } {
  74. #echo {<020>%t %s} {%Y-%m-%d %H:%M:%S} {$text};
  75. };
  76. };
  77. };