Add in-memory logging, retrievable from sys:log
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
use alloc::vec::Vec;
|
||||
|
||||
use log::LOG;
|
||||
use syscall::error::Result;
|
||||
|
||||
pub fn resource() -> Result<Vec<u8>> {
|
||||
let mut vec = Vec::new();
|
||||
|
||||
if let Some(ref log) = *LOG.lock() {
|
||||
let slices = log.read();
|
||||
vec.reserve_exact(slices.0.len() + slices.1.len());
|
||||
vec.extend_from_slice(slices.0);
|
||||
vec.extend_from_slice(slices.1);
|
||||
}
|
||||
|
||||
Ok(vec)
|
||||
}
|
||||
@@ -14,6 +14,7 @@ mod context;
|
||||
mod cpu;
|
||||
mod exe;
|
||||
mod iostat;
|
||||
mod log;
|
||||
mod scheme;
|
||||
mod scheme_num;
|
||||
mod syscall;
|
||||
@@ -43,6 +44,7 @@ impl SysScheme {
|
||||
files.insert(b"cpu", Box::new(move || cpu::resource()));
|
||||
files.insert(b"exe", Box::new(move || exe::resource()));
|
||||
files.insert(b"iostat", Box::new(move || iostat::resource()));
|
||||
files.insert(b"log", Box::new(move || log::resource()));
|
||||
files.insert(b"scheme", Box::new(move || scheme::resource()));
|
||||
files.insert(b"scheme_num", Box::new(move || scheme_num::resource()));
|
||||
files.insert(b"syscall", Box::new(move || syscall::resource()));
|
||||
|
||||
Reference in New Issue
Block a user