当前位置: 首页 > news >正文

rust log选型

考察了最火的tracing。但是该模块不支持compact,仅支持根据时间进行rotate。

  • daily

    Creates a daily-rotating file appender.

  • hourly

    Creates an hourly-rotating file appender.

  • minutely

    Creates a minutely-rotating file appender. This will rotate the log file once per minute.

  • never

    Creates a non-rolling file appender.

这两点实在在工程上难以使用。因此选择了flexi_logger.该支持的都支持了。将配置如下。 

文档:flexi_logger::code_examples - Rust

flexi_logger::code_examples - Rust

use std::backtrace::Backtrace;
use std::{panic, thread};
use std::thread::sleep;
use std::time::Duration;
use anyhow::anyhow;
use flexi_logger::{writers::FileLogWriter, Cleanup, Criterion, FileSpec, Naming, WriteMode, Age};
use log;
use log::info;
use tracing::instrument;fn panic_hook(){panic::set_hook(Box::new(|_| {log::error!("{:?}",anyhow!("panic found:"));}));
}
fn test(){info!("hello2");
}fn main() {panic_hook();let logger = flexi_logger::Logger::try_with_str("info").unwrap().log_to_file(FileSpec::default().basename("calculate").directory("./logs")).append().write_mode(WriteMode::Async).rotate(Criterion::AgeOrSize(Age::Day,500 * 1024 * 1024), // 每天轮转一次日志Naming::Timestamps,Cleanup::KeepLogAndCompressedFiles(1,30), // 保留7天的日志).format(flexi_logger::opt_format).start();test();}

http://www.lryc.cn/news/454929.html

相关文章:

  • 数据库-分库分表
  • 基于SSM的校园社团管理系统的设计 社团信息管理 智慧社团管理社团预约系统 社团活动管理 社团人员管理 在线社团管理社团资源管理(源码+定制+文档)
  • 【SVN】一文读懂Subversion(SVN)
  • nginx打包部署前端vue项目全过程【保姆级教程】
  • From SAM to CAMs
  • 【NLP自然语言处理】01-基础学习路径简介
  • ffmpeg取rtsp流音频数据保存声音为wav文件
  • 《数字图像处理基础》学习01-数字图像处理的相关基础知识
  • C#-泛型学习笔记
  • Java第二阶段---11封装---第四节 static 修饰符
  • 【C/C++】错题记录(五)
  • 关系数据库标准语言SQL(11,12)
  • Oracle 11g RAC 节点异常重启问题分析
  • vscode 中显示 pnpm : 无法加载文件 C:\Users\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本
  • C嘎嘎入门篇:类和对象番外(时间类)
  • Spring Boot项目实战教程:快速构建Web应用与RESTful API
  • OpenAI 开发者大会!实时语音功能有API了,GPT-4o支持多模态微调,上下文cache功能上线
  • 解决ros2 rviz Fixed Frame No TF data问题
  • Python数据分析篇--NumPy--进阶
  • 基于Arduino的宠物食物分配器
  • make和Makefile
  • 【数学分析笔记】第4章第4节 复合函数求导法则及其应用(2)
  • 【预备理论知识——2】深度学习:线性代数概述
  • 【目标检测】yolo的三种数据集格式
  • 数据分析案例-机器学习工程师薪资数据可视化分析
  • Django连接Dify、ChatGPT4o并计算tokens数量方法
  • 面试系列-淘天提前批面试
  • 计算机中科学中有哪些空间换时间的操作??
  • Mac安装Manim并运行
  • leetcode58:最后一个单词的长度