# Console 控制台
Console 类所在命名空间:\ZM\Console\Console
Console 类为框架的终端输出管理类。
# 设置 Log 输出等级
输出等级 控制了输出到命令行的内容的重要性。在框架的输出中,消息有以下几种不同等级的类别
- error / log: 0
- warning: 1
- info / success: 2
- verbose: 3
- debug: 4
输出等级设置后显示的消息类别为小于等于当前 log 的。假设你将 log 等级设置为 3,你可以看到除 debug 外的所有 log 内容。
通过配置文件 global.php
中的 init_atomics -> info_level
的数值你可以更改框架的默认 log 等级(默认为 2)。
你也可以在启动框架的命令行中添加参数来切换 log 等级:
vendor/bin/start server --log-error # 以 error 等级启动框架
vendor/bin/start server --log-warning # 以 warning 等级启动框架
vendor/bin/start server --log-info # 以 info 等级启动框架
vendor/bin/start server --log-verbose # 以 verbose 等级启动框架
vendor/bin/start server --log-debug # 以 debug 等级启动框架
2
3
4
5
# 使用 Log 输出内容
作为模块开发者的你,你可以主动调用框架内的 Console 类输出信息到终端。
# Console::log()
输出 0 级别的普通 log。
- 参数:
$msg, $color
,分别为内容和字体颜色。
此 log 不会被 info_level 所限制,无论如何也会输出到终端。
# Console::error()
输出 error 级别的红色醒目 log。一般此 log 为框架内部出现不可忍受的错误,比如内存不足、PHP fatal error 等错误。
- 参数:
$msg
此 log 不会被 info_level 所限制,无论如何也会输出到终端。
# Console::warning()
输出 warning 级别的 log。
注意
框架内出现的用户态异常,比如无法发送 API、无法连接数据库等错误,都是 warning 错误,不会导致框架崩溃或功能错误的异常情况建议都使用 warning 输出而不是 error。
# Console::info()
输出 info 级别的 log。
# Console::success()
输出 success 级别的log。
# Console::verbose()
输出 verbose 级别的 log。
# Console::debug()
输出 debug 级别的 log。
# Console::stackTrace()
输出栈追踪信息。
# Console::setColor()
返回:彩色的字符串。
- string: 要变颜色的字符串
- color: 要变的颜色。支持
red
,green
,yellow
,reset
,blue
,gray
,gold
,pink
,lightblue
,lightlightblue
Console::log("This is normal msg. (0)");
Console::error("This is error msg. (0)");
Console::warning("This is warning msg. (1)");
Console::info("This is info msg. (2)");
Console::success("This is success msg. (2)");
Console::verbose("This is verbose msg. (3)");
Console::debug("This is debug msg. (4)");
Console::stackTrace();
$str = Console::setColor("I am gold color.", "gold");
2
3
4
5
6
7
8
9
# 终端交互命令
炸毛框架支持从终端输入命令来进行一些操作,例如重启框架、停止框架、执行函数等。
注意
在 Docker、systemd、daemon 状态下启动的框架会自动关闭终端等待输入,交互不可用。
# reload
重新加载除 src/Framework/
下的所有模块。
- 别名:
r
# stop
停止框架。
# logtest
输出各种等级的 log 示例文本。
# call
执行对应类的成员方法。下面是例子:
call \ZM\Utils\ZMUtil reload
# bc
直接执行 PHP 代码,输入格式为 base64。
bc XEZyYW1ld29ya1xDb25zb2xlOjp3YXJuaW5nKCJoZWxsbyB3YXJuaW5nISIpOw==
# 代码内容:\ZM\Console\Console::warning("hello warning!");
# 终端输出:[19:14:32] [W] hello warning!
2
3
# echo
输出文本
echo hello
# color
按照颜色输出文本
color green 我是绿色的字
# MOTD
在 1.4 版本开始,框架支持启动时的 motd 内容修改。
文件位置:config/motd.txt
其中,默认的 Zhamao
字样的 MOTD 是使用 figlet 命令生成的,figlet "Zhamao"
,你也可以针对自己的机器人名称或品牌进行生成。
# 设置输出主题
Console 组件支持为多种不同的终端设置不同的主题,比如有些人喜欢使用白色的终端,但是白色终端下 info 的颜色很浅,看不到,还有人使用不能显示颜色的黑白终端.....
vendor/bin/start server --log-theme={主题名}
现有支持的主题有:default
,white-term
,no-color
vendor/bin/start server --log-theme=white-term # 如果用的是白色终端,这个主题更友好
vendor/bin/start server --log-theme=no-color # 如果不想让 log 带有任何颜色,使用无色主题
2