feat(klog): Implement kernel log level management and procfs interface #1415
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
/proc/sys/kernel/printkfile for reading and writing log level settings.This implementation improves logging flexibility and aligns with expected Linux functionality.
Note
Introduce Linux-like kernel loglevel control (cmdline + /proc/sys/kernel/printk), integrate filtering into logger/kmsg, and add QEMU env-based loglevel.
debug/klog/loglevelwith globalKERNEL_LOG_LEVEL,LogLevel, and filtering (should_print, cmdline handlerhandle_loglevel_param).libs/printklogger to filter byKERNEL_LOG_LEVEL, maplog::LeveltoLogLevel, and push structuredLogMessagetokmsg./proc/sys/kernel/printkwith read/write viasys::sysctl::PrintkSysctl(returns four loglevel fields; writes set console level).procfs/systree creation; wire read/write paths inIndexNode::read_at/write_atforProcSysKernelPrintk.klog.rsto defineLogMessageusing sharedLogLevel; updatekmsgto use it and clone on push.KernelCmdlineKV/EarlyKVfields and invokehandle_loglevel_param()during cmdline init.tools/run-qemu.shto acceptDRAGONOS_LOGLEVELenv var and passloglevel=Nto kernel cmdline.Written by Cursor Bugbot for commit 62909c0. This will update automatically on new commits. Configure here.