#!/usr/bin/env bash #nop vim: set filetype=tt:; #nop { ID=$1 LOGS="${*:2}" if [ "x$LOGS" == "x" ]; then LOGS="chat qq jh helpme fullsk quest job tell" fi if [ "x$ID" == "x" ]; then echo -e '用法: \x1b[1;32;92mmtail \x1b[1;33;93m\x1b[0m [ ...]' echo '日志名称不用加路径和 .log 后缀,只要文件名就好。' echo "可以同时显示多个日志,默认显示日志: $LOGS" echo '别忘了写 ID,加油!' exit fi if [[ ! -d "var/log/$ID" && ! -d "log/$ID/" ]]; then echo 没找到 $ID 的游戏日志。请先打开游戏再执行本操作。; exit fi exec tt++ -G -t MLOG-$ID bin/mtail $ID $LOGS exit }; #event {PROGRAM START} { #if { "%0" == "" } { #line quiet #end {\}; }; disable-all-keys; less-mode; #alias {okLog} {#0}; #alias {warnLog} {#0}; #alias {prompt.Set} {#0}; #alias {prompt.refresh} {#0}; #read plugins/lib/ui/beautify.tin; #local _ {@lib_ui_beautify.Init{}}; monitor-log %0; }; #alias {disable-all-keys} { #local ch {}; #parse {abcdefghijklmnopqrstuvwxyz} {ch} { #macro {\c$ch} {#0}; #macro {$ch} {#0}; }; #parse {ABCDEFGHIJKLMNOPQRSTUVWXYZ} {ch} { #macro {$ch} {#0}; }; #parse {`1234567890-=~!@#$%^&*()_+} {ch} { #macro {$ch} {#0}; }; #parse {,./<>?;':"[]\\|} {ch} { #macro {$ch} {#0}; }; #macro {\x7B} {#0}; #macro {\x7D} {#0}; #macro { } {#0}; #macro {\cn} {switch-log +}; #macro {\cp} {switch-log -}; #var ctrl-c-pressed {false}; #macro {\cc} { #if { "$ctrl-c-pressed" == "false" } { #echo {如果你想要退出,请再按一次 Ctrl+C。}; #var ctrl-c-pressed {true}; #delay cancel { #echo {等待超时,恢复正常。}; #var ctrl-c-pressed {false}; } {1.000}; }; #else { #screen set title {NOLOG}; #line quiet #end {\}; }; }; }; #alias {less-mode} { #config {mouse} on; #event {SCROLLED MOUSE WHEEL DOWN} {#buffer down 10}; #event {SCROLLED MOUSE WHEEL UP} {#buffer up 10}; #event {SCROLLED CTRL MOUSE WHEEL DOWN} {#buffer down 1}; #event {SCROLLED CTRL MOUSE WHEEL UP} {#buffer up 1}; #macro {g} {#buffer home}; #macro {G} {#buffer end}; #macro {j} {#buffer down 1}; #macro {k} {#buffer up 1}; #macro {\cf} {#buffer down 20}; #macro {\cb} {#buffer up 20}; #macro {\ch} {hide-date}; }; #var hide-date {1}; #alias {hide-date} { #switch {$hide-date} { #case {0} {#var hide-date 1; #echo {<160>日志显示模式已切换至 HH:MM:SS<299>}}; #case {1} {#var hide-date 2; #echo {<160>日志显示模式已切换至 HH:MM<299>}}; #case {2} {#var hide-date 3; #echo {<160>日志显示模式已切换至不显示时间戳<299>}}; #case {3} {#var hide-date 0; #echo {<160>日志显示模式已切换至 YYYY-mm-dd HH:MM:SS<299>}}; }; }; #alias {switch-log} { #local dir {%1}; #if { "$dir" == "" } { #local dir {+}; }; #session $dir; #buffer end; #script logname {echo $LOGNAME > tmux/$ID/log-name}; #screen set title {MLOG-${ID}-${LOGNAME}}; }; #alias {monitor-log%+1..s%+1..S{?:|\s+(.*)}$} { #local id {%2}; #local logs {%3}; #local path {}; #script path {test -d var/log/$id/ && echo var/log/$id || echo log/$id}; #local path {$path[1]}; #list logs create $logs; #local log {}; #foreach {$logs[]} {log} { #local file {$path/${log}.log}; #script {tmp} {touch $file}; #line quiet #run {log-$log} {tail -n 1000 -f $path/${log}.log}; #var LOGNAME {$log}; #var ID {$id}; }; switch-log; }; #action {~^{\d\d\d\d-\d\d-\d\d }{\d\d:\d\d}{:\d\d}{ }%*$} { #switch {$hide-date} { #case {0} {#echo {%s} {@Beautify{%0}}}; #case {1} {#echo {%s} {@Beautify{%2%3%4%5}}}; #case {2} {#echo {%s} {@Beautify{%2%4%5}}}; #case {3} {#echo {%s} {@Beautify{%5}}}; }; #line gag; }; #event {SCREEN RESIZE} {#buffer end};