vibe-ready 0.1.1

This is the project framework for vibe coding, with multiple optional modules, aiming to quickly build vibe coding projects
Documentation
use crate::log::log_def::VibeLogInfo;
use crate::log::log_level::LogLevel;

impl VibeLogInfo {
    pub fn new(level: LogLevel, tag: String, content: String, create_time: i64) -> VibeLogInfo {
        VibeLogInfo {
            level,
            tag,
            content,
            create_time,
        }
    }

    pub fn level(&self) -> LogLevel {
        self.level
    }

    pub fn tag(&self) -> String {
        self.tag.clone()
    }

    pub fn content(&self) -> String {
        self.content.clone()
    }

    pub fn create_time(&self) -> i64 {
        self.create_time
    }

    pub fn slice(&self) -> Vec<VibeLogInfo> {
        let size = self.to_csv().len();
        if size <= 1024 * 1024 {
            return vec![self.clone()];
        }

        let mut ret = vec![];
        let chars = self.content.chars().collect::<Vec<_>>();
        for (_, chunk) in chars.chunks(1024 * 1024 / 4).enumerate() {
            let content = chunk.iter().collect::<String>();
            ret.push(Self {
                content,
                ..self.clone()
            })
        }
        ret
    }

    pub fn to_csv(&self) -> String {
        format!(
            "{},{},{},\"{}\"\n",
            self.create_time,
            self.level as i16,
            self.tag,
            self.content.replace('"', "\"\"")
        )
    }
}