控制台输出水平(Console output levels)

壳通常需要不同级别的冗长。当运行cron作业,大多数un-necessary输出。,有些时候你不感兴趣壳牌说的一切。您可以使用适当的输出水平标志输出。用户的shell,可以决定他们感兴趣的细节级别设置正确的国旗当调用shell。Shell::out()支持3类型的默认输出。
安静,只有绝对重要的信息应该被标记为安静的输出。
正常——默认级别,和正常使用
详细,马克的消息可能过于嘈杂的日常使用,但有助于调试详细
您可以标记输出如下:
// would appear at all levels.
$this->out('Quiet message', 1, Shell::QUIET);

// would not appear when quiet output is toggled
$this->out('normal message', 1, Shell::NORMAL);
$this->out('loud message', 1, Shell::VERBOSE);

// would only appear when verbose output is enabled.
$this->out('extra message', 1, Shell::VERBOSE);



你可以控制炮弹的输出电平,通过使用——quiet——verbose选项。这些选项被添加在默认情况下,允许你始终控制输出水平在CakePHP贝壳。 
### RT-Thread 中 stdio 的使用 在嵌入式系统开发中,标准输入输出(stdio) 提供了一组用于处理字符流的标准函数。对于基于 RT-Thread 操作系统的应用程序来说,这些功能同样重要。 #### 初始化 stdio 设备 为了使 `printf` 和其他类似的 C 库函数能够正常工作,需要先初始化相应的串口设备作为 stdout/stderr 输出目标: ```c #include <rtthread.h> #include <rthw.h> int main(void) { /* 设置控制台 */ rt_console_set_device("uart1"); printf("Hello, RT-Thread!\n"); while(1); } ``` 这段代码设置了 UART1 为默认的控制台输出端口[^1]。 #### 自定义重定向 有时可能希望改变默认行为或将日志发送到不同的地方(比如文件、网络套接字),这时可以通过自定义写操作来实现这一点: ```c static int my_write(int fd, const void *buf, size_t count) { // 实现自己的写逻辑... } void setup_custom_output() { struct _reent r; _REENT_INIT(&r); __env_lock(); r._stdout = fopen("/dev/ttyS0", "a+"); if (!r._stdout || setvbuf(r._stdout, NULL, _IONBF, 0)) abort(); r.__sglue->_write_r = my_write; __env_unlock(); } ``` 上述例子展示了如何创建一个新的 `_write` 函数并将其注册给当前线程使用的 reentrant 结构体[^2]。 #### 日志级别管理 RT-Thread 支持多种级别的日志打印,这有助于更好地管理和过滤信息量较大的调试消息。可以在编译时通过宏定义设置全局的日志等级,也可以动态调整特定模块的日志输出强度。 ```c #define LOG_LVL_DBG 5 /* Debug level */ LOG_D("This is a debug message"); // Only shown when log level >= DEBUG LOG_I("Informational message here"); // Shown at INFO or higher levels ``` 这里展示了一些常用的日志宏定义及其对应的最低可见度阈值[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值