20230517提升cv1826的打印等级

news2024/11/19 18:28:11

20230517提升cv1826的打印等级
2023/5/17 17:43


https://www.xitongjiaocheng.com/linux/2017/53494.html
Linux内核log等级与printk打印消息控制
时间:2017-03-13 出处:系统之家复制分享人气(206次) 【大中小】

printk打印消息控制

// linux/include/printk.h
#define MESSAGE_LOGLEVEL_DEFAULT CONFIG_MESSAGE_LOGLEVEL_DEFAULT
#define CONSOLE_LOGLEVEL_DEFAULT 7 
#define CONSOLE_LOGLEVEL_MIN     1 
#define CONSOLE_LOGLEVEL_DEFAULT 7 


rootroot@rootroot-X99-Turbo:~/smartpen$ 
rootroot@rootroot-X99-Turbo:~/smartpen$ find . -name printk.c
./linux/kernel/printk/printk.c
rootroot@rootroot-X99-Turbo:~/smartpen$ find . -name printk.h
./linux/build/cv1826_wevb_0005a/include/config/printk.h
./linux/include/trace/events/printk.h
./linux/include/linux/printk.h
./linux/tools/virtio/linux/printk.h
rootroot@rootroot-X99-Turbo:~/smartpen$ 

 


1、
Z:\smartpen\linux\include\linux\printk.h
#define CONSOLE_EXT_LOG_MAX    8192

/* printk's without a loglevel use this.. */
#define MESSAGE_LOGLEVEL_DEFAULT CONFIG_MESSAGE_LOGLEVEL_DEFAULT

/* We show everything that is MORE important than this.. */
#define CONSOLE_LOGLEVEL_SILENT  0 /* Mum's the word */
#define CONSOLE_LOGLEVEL_MIN     1 /* Minimum loglevel we let people use */
#define CONSOLE_LOGLEVEL_DEBUG    10 /* issue debug messages */
#define CONSOLE_LOGLEVEL_MOTORMOUTH 15    /* You can't shut this one up */

/*
 * Default used to be hard-coded at 7, quiet used to be hardcoded at 4,
 * we're now allowing both to be set from kernel config.
 */
#define CONSOLE_LOGLEVEL_DEFAULT CONFIG_CONSOLE_LOGLEVEL_DEFAULT
#define CONSOLE_LOGLEVEL_QUIET     CONFIG_CONSOLE_LOGLEVEL_QUIET

extern int console_printk[];
修改为:
#define CONSOLE_EXT_LOG_MAX    8192

/* printk's without a loglevel use this.. */
#define MESSAGE_LOGLEVEL_DEFAULT 7

/* We show everything that is MORE important than this.. */
#define CONSOLE_LOGLEVEL_SILENT  0 /* Mum's the word */
#define CONSOLE_LOGLEVEL_MIN     7 /* Minimum loglevel we let people use */
#define CONSOLE_LOGLEVEL_DEBUG    10 /* issue debug messages */
#define CONSOLE_LOGLEVEL_MOTORMOUTH 15    /* You can't shut this one up */

/*
 * Default used to be hard-coded at 7, quiet used to be hardcoded at 4,
 * we're now allowing both to be set from kernel config.
 */
#define CONSOLE_LOGLEVEL_DEFAULT 7
#define CONSOLE_LOGLEVEL_QUIET     CONFIG_CONSOLE_LOGLEVEL_QUIET

extern int console_printk[];

调试记录:
# cat  /proc/sys/kernel/printk
7       7       7       7

 


2、【可能不需要,需要进一步确认!】
Z:\smartpen\linux\kernel\printk\printk.c
将全部的LOGLEVEL_DEFAULT替换为7。
int do_syslog(int type, char __user *buf, int len, int source)
{
    bool clear = false;
    static int saved_console_loglevel = LOGLEVEL_DEFAULT;
    int error;
修改为:
int do_syslog(int type, char __user *buf, int len, int source)
{
    bool clear = false;
    static int saved_console_loglevel = 7;
    int error;


    /* Disable logging to console */
    case SYSLOG_ACTION_CONSOLE_OFF:
        if (saved_console_loglevel == LOGLEVEL_DEFAULT)
            saved_console_loglevel = console_loglevel;
        console_loglevel = minimum_console_loglevel;

        break;
    /* Enable logging to console */
    case SYSLOG_ACTION_CONSOLE_ON:
        if (saved_console_loglevel != LOGLEVEL_DEFAULT) {
            console_loglevel = saved_console_loglevel;
            saved_console_loglevel = LOGLEVEL_DEFAULT;

        }
        break;
    /* Set level of messages printed to console */
    case SYSLOG_ACTION_CONSOLE_LEVEL:
        if (len < 1 || len > 8)
            return -EINVAL;
        if (len < minimum_console_loglevel)
            len = minimum_console_loglevel;
        console_loglevel = len;
        /* Implicitly re-enable logging to console */
        saved_console_loglevel = LOGLEVEL_DEFAULT;
        break;
修改为:
    /* Disable logging to console */
    case SYSLOG_ACTION_CONSOLE_OFF:
        if (saved_console_loglevel == 7)
            saved_console_loglevel = 7;
        console_loglevel = 7;

        break;
    /* Enable logging to console */
    case SYSLOG_ACTION_CONSOLE_ON:
        if (saved_console_loglevel != LOGLEVEL_DEFAULT) {
            console_loglevel = 7;
            saved_console_loglevel = 7;

        }
        break;
    /* Set level of messages printed to console */
    case SYSLOG_ACTION_CONSOLE_LEVEL:
        if (len < 1 || len > 8)
            return -EINVAL;
        if (len < minimum_console_loglevel)
            len = minimum_console_loglevel;
        console_loglevel = 7;
        /* Implicitly re-enable logging to console */
        saved_console_loglevel = LOGLEVEL_DEFAULT;
        break;

 

 


3、【改这里改乱了!】
Z:\smartpen\linux\build\cv1826_wevb_0005a\.config
Z:\smartpen\build\boards\cv1826_wevb_0005a\linux\cvitek_cv1826_wevb_0005a_defconfig
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7

# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_DYNAMIC_DEBUG=y
修改为:
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=8
CONFIG_CONSOLE_LOGLEVEL_QUIET=8
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=8

# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_DYNAMIC_DEBUG=y


调试记录:
#  cat /proc/sys/kernel/printk
4       4       1       8


参考资料:
默认 buildroot 打印等级7


https://blog.csdn.net/weixin_29101181/article/details/119544911
五、prink的使用以及console控制日志输出级别

拓展:产品发布时候,我们一般都不会希望用户可以通过串口进入我们的系统后台,因此会主动把调试串口给关掉,在内核编译配置文件中CONFIG_SERIAL_IMX_CONSOLE=y

CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7


https://www.wenjiangs.com/article/sysklogd.html
Sysklogd 系统日志记录器
发布于 2021-01-11 13:11:26 字数 11723 浏览 933 评论 0

内核的控制台日志等级
内核的控制台日志等级控制哪些内核消息会在控制台上显示。有两种途径可以修改这个等级,一种是通过内核引导参数,另一种,也是建议的途径是通过 sysctl 来控制,通常这个设置位于 /etc/sysctl.conf 中。比如:

  kernel.printk = 4 4 1 7
[注意]控制台日志等级与内核消息等级是不同的概念,默认的内核消息等级(DEFAULT_MESSAGE_LOGLEVEL)是由内核在编译时确定的(CONFIG_DEFAULT_MESSAGE_LOGLEVEL),其默认值是"4"(WARNING)。而默认的控制台日志等级(DEFAULT_CONSOLE_LOGLEVEL)是"7"(debug),其含义是等级数字小于等于6的消息(优先级更高)都会显示在控制台上。


https://blog.csdn.net/zifehng/article/details/60763837
Linux内核log等级与printk打印消息控制

zifehng 于 2017-03-07 14:30:51 发布

通过procfs控制printk打印消息

1. 查看当前printk打印消息的log等级
# cat /proc/sys/kernel/printk
# 7 4 1 7
“7 4 1 7” 分别对应console_loglevel、default_message_loglevel、minimum_c onsole_loglevel、default_console_loglevel,意味着只有优先级高于KERN_DEBUG(7)的打印消息才能输出到终端

2. 改变console_loglevel
# echo 8 4 1 7 > /proc/sys/kernel/printk
输入“8 4 1 7”改变console_loglevel值,使得所有的打印消息都能输出到终端


linux 打印等级 printk
http://www.taodudu.cc/news/show-3609554.html?action=onClick
linux内核中printk的打印级别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/537188.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

认养农业小程序开发 赋予农业发展新模式

传统农业发展到今天&#xff0c;无论是规模还是方式都发生了很大的改变&#xff0c;尤其是在信息化时代影响下&#xff0c;智慧农业一步步发展起来&#xff0c;通过认养这种新模式与都市中想要体验农场乐趣的人群联系起来&#xff0c;既满足了都市人群体验农场生活乐趣的目的也…

720vr全景线上看车帮助企业快速对接到意向客户

360VR全景看车可以高精度还原线下展厅和各类汽车车型&#xff0c;进入VR汽车3d展厅&#xff0c;实现360度无死角VR看车&#xff0c;可以任意的查看和缩放&#xff0c;消费者根据自己的喜好更换车身的颜色&#xff0c;一键对比不同车型的外观、性能、耗能等&#xff0c;不用出门…

小程序架构足够安全吗?数据安全如何保障?

小程序大家已经再熟悉不过了&#xff0c;就是一种在移动操作系统中运行的轻量级应用程序&#xff0c;小程序发展这么多年来&#xff0c;是中国 IT 行业里为数不多的能够真正影响到普通程序员的创新成果。 当然随着小程序的流行&#xff0c;小程序的各个方面都是开发者讨论的热…

Navicat 数据备份与恢复功能 | 有效预防误删误改、删库跑路、软硬件故障造成的数据丢失

当今社会已进入了数据爆炸的时代&#xff0c;数据成为企业最重要的资产之一。如果没有采取数据备份和数据恢复手段与措施&#xff0c;就会导致数据的丢失&#xff0c;有时造成的损失是无法弥补估量的。市场上有很多数据备份的方法&#xff0c;今天我们给大家分享广受业界好评的…

首届百度商业AI技术创新大赛重磅启动,以前沿科技革新生产力

随着生成式AI在全球范围的热议&#xff0c;你可以想象在不远的将来AI将与你的工作、生活、出行等各种场景紧密相连。正如百度创始人、董事长兼CEO李彦宏所说&#xff1a;“以深度学习、算法为代表的人工智能革命是第四次科技革命”。 作为拥有强大互联网基础的领先AI公司&…

神经网络:Zero2Hero 3 - Tanh、Gradient、BatchNormal

Zero2Hero : 3 - Tanh、Gradient、BatchNormal 接上篇&#xff0c;对MLP模型有进一步进行了修改&#xff0c;增加BatchNormal、和激活函数。深入研究深层网络的内部&#xff0c;激活、反向传递梯度以及随机初始化的陷阱。BatchNormal的作用。 import torch import torch.nn.f…

python:图形用户界面GUI(模拟登录、计算器...)

文章目录 一、Tkinter简介1、第一个tkinter窗口2、在窗口内加入组件2.1 思考题&#xff08;问题与答案&#xff09; 3、坐标管理器 二、Tkinter组件及其属性1、Label组件和Entry组件2、计算器代码 引言&#xff1a;我们以QQ为例&#xff0c;当我们点击QQ图标时候&#xff0c;它…

SpringBoot整合MyBatis-Plus实现增删改查

简介 MyBatis-Plus (opens new window)的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 特性 无侵入&#xff1a;只做增强不做改变&#xff0c;引入它不会对现有工程产生影响&#xff0c;如丝般顺滑损耗小&#xff1a;启…

一个有趣的avs编码器(注意,是avs,而不是avs2噢)

本章附件是一个清华大学写的关于avs编解码器: https://download.csdn.net/download/weixin_43360707/87793302 该编码器遵循了stuffing bit: 打开文件夹后&#xff0c;如下&#xff1a; 可以看出这个是个跨平台的工程&#xff0c;提供了windows vs2015的工程文件sln&#x…

【数据结构】栈的详解

☃️个人主页&#xff1a;fighting小泽 &#x1f338;作者简介&#xff1a;目前正在学习C语言和数据结构 &#x1f33c;博客专栏&#xff1a;数据结构 &#x1f3f5;️欢迎关注&#xff1a;评论&#x1f44a;&#x1f3fb;点赞&#x1f44d;&#x1f3fb;留言&#x1f4aa;&…

pom里加依赖和把jar包放到lib文件夹下的区别

首先,什么是jar包,jar包其实就是一个a项目打成了a.jar包,然后b项目引入了a.jar包,然后b项目就能用到a项目里面的工具类了. b项目怎么引入a.jar包呢. 第一种:直接把a.jar包放到lib文件夹下(不推荐) 第二种:在pom里添加maven依赖,把a.jar包引过来(推荐) 在pom里加的依赖跟直接…

小学妹刚毕业没地方住想来借宿,于是我连夜用Python给她找了个好房子,我真是太机智了

事情是这样的&#xff0c;小学妹刚毕业参加工作&#xff0c;人生地不熟的&#xff0c;因为就在我附近上班&#xff0c;所以想找我借宿。。。 想什么呢&#xff0c;都不给住宿费&#xff0c;想免费住&#xff1f;于是我用Python连夜给她找了个单间&#xff0c;自己去住吧&#…

解决Linux普通用户无法使用Docker

目录 1.问题描述 2.解决方法 2.1 添加docker用户组 2.2 把当前用户加入docker用户组 2.3 查看是否添加成功 2.4 重启docker 2.5 更新用户组 2.6 测试docker命令是否可以使用 1.问题描述 当使用普通用户的时候&#xff0c;无法对Docker进行操作 [howlongbogon ~]$ dock…

性能优化的大致策略

平时多多少少在工作中会遇到性能问题相关的工作&#xff0c;记录一下大致的思路以及方法。 1. 指导思想 抓大放小&#xff0c;可以采用两种方向&#xff1a; 一种是自底向上&#xff0c;先从操作系统发现某一现象&#xff0c;例如内存过高&#xff0c;负载过高&#xff0c;i…

python值得学习么

python值得学习么&#xff0c;答案当然是毋庸置疑的~ 目前几乎所有大中型互联网企业都在使用 Python 完成各种各样的工作&#xff0c;比如Web应用开发、自动化运维、人工智能领域、网路爬虫、科学计算、游戏开发等领域均已离不开Python。 特别是在和数据相关的领域&#xff0…

【ArcGIS Pro二次开发】(29):村庄规划生成空间功能结构调整表

根据现在村规成果要求&#xff0c;【空间功能结构调整表】是必需的。 以福建省为例&#xff0c;它长这样&#xff1a; 下面就来实现从现状用地和规划用地导出这样的Excel表格。 一、要实现的功能 如上图所示&#xff0c;点击【汇总村庄空间功能结构调整表】工具&#xff0c;选…

Day1--ARM1

用for循环实现1~100相加

百度翻译可以翻译页面

百度翻译可以翻译页面 例如&#xff1a;输入网址 https://www.baidu.com&#xff0c;点击翻译即可。

ChatGPT背后的核心技术报告(附下载)

输入几个简单的关键词&#xff0c;AI能帮你生成一篇短篇小说甚至是专业论文。最近大火的ChatGPT在邮件撰写、文本翻译、代码编写等任务上强大表现&#xff0c;让埃隆马斯克都声称感受到了AI的“危险”。ChatGPT的计算逻辑来自于一个名为transformer的算法&#xff0c;它来源于2…

穿透技术及Apache教学

首先在这里因为很多人没学过内网穿透以及虚拟ip&#xff0c;因此给大家出一套小白网络隧道教学&#xff08;Sunny-Ngrok&#xff09;如下&#xff1a; Sunny-Ngrok内网转发内网穿透 - 国内内网映射服务器 进入文档第一步&#xff1a;注册账号&#xff0c;并登录进入 第二步&a…