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

vs网站开发表格大小设置网站建设要注意一些什么

vs网站开发表格大小设置,网站建设要注意一些什么,网站地图的重要性,推广普通话绘画zlog日志库 1 简介1.1 核心特点1.2 核心概念 2 zlog日志库部署到项目工程2.1 下载zlog源码2.2 交叉编译zlog源码2.3 拷贝生成的静态库文件 3.zlog日志使用 1 简介 zlog是轻量级,高性能的C语言日志库,专为Linux/Unix系统设计(也支持Windows系统…

zlog日志库

  • 1 简介
    • 1.1 核心特点
    • 1.2 核心概念
  • 2 zlog日志库部署到项目工程
    • 2.1 下载zlog源码
    • 2.2 交叉编译zlog源码
    • 2.3 拷贝生成的静态库文件
  • 3.zlog日志使用

1 简介

  zlog是轻量级,高性能的C语言日志库,专为Linux/Unix系统设计(也支持Windows系统),适合嵌入式系统,服务器后台等对日志功能有较高需求的场景。
本文介绍zlog基本概念,交叉编译并部署到QT项目中

1.1 核心特点

特性说明
高性能异步写入、低延迟,适合高并发场景。
线程安全多线程环境下无需额外锁机制。
灵活配置通过配置文件动态控制日志格式、级别、输出目标(文件/控制台/网络等)。
日志分类支持多类别(Category)日志,便于模块化管理。
日志轮转自动按大小/时间分割日志文件,避免单个文件过大。
跨平台支持 Linux、macOS、Windows(需 MinGW 或 MSVC 适配)。

1.2 核心概念

(1)日志分类(Category)
不同模块可以使用不同的日志分类(如 network、database),每个分类可独立配置级别和输出规则。

示例:

zlog_category_t *net_cat = zlog_get_category("network");
zlog_info(net_cat, "Connection established");

(2)配置文件(zlog.conf)
定义日志格式、输出目标和规则。示例:

[formats]
simple = "%d(%ms) %-6V [%c:%F:%L] %m%n"  # 格式:时间、级别、分类、文件、行号、消息[rules]
my_cat.* "./logs/app.log", 10MB * 3 ~ "./logs/old/app.log.#r"; simple
network.DEBUG  "192.168.1.100:514;simple"  # 输出到远程 syslog 服务器

(3)日志级别
从高到低:FATAL > ERROR > WARN > NOTICE > INFO > DEBUG。

运行时可通过配置文件动态调整级别,无需重启程序。

2 zlog日志库部署到项目工程

2.1 下载zlog源码

git clone https://github.com/HardySimpson/zlog.git

2.2 交叉编译zlog源码

cd zlog
make cc={指定交叉编译器}
eg:
make cc=/workdir/anlogic/SDK_2024.10/buildroot/host/bin/aarch64-linux-gnu-gcc

  交叉编译完成之后,会在zlog/Src文件夹中生成以下文件
libzlog.a ,libzlog.so libzlog.so.1 libzlog.so.1.2
在这里插入图片描述
  查看文件属性是arm平台的格式文件在这里插入图片描述

2.3 拷贝生成的静态库文件

(1)可以在QT工程项目文件夹新建libs文件夹,并将libzlog.a静态库文件拷贝该文件夹中。
:可根据需求选择拷贝静态库文件或者动态库文件,如果考虑减小应用程序大小,可以选择拷贝.so动态库文件,但是也需要将.so动态库文件拷贝到目标机中。如果不考虑应用程序大小,对存储空间没有要求,则可以拷贝.a静态库文件
(2)修改QT工程.pro文件,指定zlog库路径

LIBS += -L$$PWD/../libs -lzlog,

3.zlog日志使用

#include <QObject>
#include <QDir>
#include <QFile>
#include <QDebug>
#include "zlog.h"//定义要写入zlog配置文件中的配置内容,配置日志格式
//以下定义两个日志的格式
#define  zlogDefaultCFG   "[formats]    \nsimple = \"Log->%d.%ms [%f-%L] %m%n\"      \n[rules]  \n*.*   >stdout;simple   \nmy_cat.* \"/home/usr/myLog/myLog.log\", 10M*1; simple  \n"//以下定义两个日志的格式
#define  zlogDefaultCFG2   "[formats]    \nsimple = \"GA02->%d.%ms [%f-%L] %m%n\"      \n[rules]  \n*.*   >stdout;simple   \nmy_cat.* \"/home/usr/myLog/myLog.log\", 10M*1; simple  \nerr_cat.* \"/home/usr/myLog/myLog2.log\", 10M*1; simple  \n"#define ZLOG_PATH "/home/usr/myLog//myLog.cfg"      /*日志初始化文件*/zlog_category_t *zc;
zlog_category_t *zc_Err;
void initZlog(void)
{QDir zlogDir("/home/usr/");if (!zlogDir.exists()){QDir zlogParentDir("/home/usr");if (!zlogParentDir.mkdir("myLog")){qDebug("mkdir false");return}}QFile zlog_config_file(ZLOG_PATH);if (!zlog_config_file.exists()){zlog_config_file.setFileName(ZLOG_PATH);if(!zlog_config_file.open(QIODevice::WriteOnly|QIODevice::Text)){qDebug("zlog config file create error");return}else if(!zlog_config_file.write(QString(zlogDefaultCFG).toLatin1().data())){qDebug("zlog config file write error");return}zlog_config_file.close();}QFile zlogCfgFile(ZLOG_PATH);if( !zlogCfgFile.exists() )qDebug("zlog config file does not exsit");int rc;rc = zlog_init(ZLOG_PATH);if (rc){qDebug("zlog init failed");return}zc = zlog_get_category("my_cat");if (!zc){zlog_fini();qDebug("get my cat failed");return}zlog_info(zc, " \n############################\r\n display process zlog init Successful ! \n############################\r\n");zc_Err = zlog_get_category("err_cat");if (!zc_Err){zlog_fini();qDebug("get err cat failed");return}zlog_info(zc_Err, " \n############################\r\n display process Error zlog init Successful ! \n############################\r\n");}
http://www.dtcms.com/a/406503.html

相关文章:

  • js网站模板下载做网站和app哪个难
  • MySQL多实例管理
  • 用dpdk实现udp、tcp数据包收发,tcp协议栈相关原理
  • 3D气象数据可视化:使用前端框架实现动态天气展示
  • 学习日记19:GRAPH-BERT
  • shell编程:sed - 流编辑器(5)
  • 网站制作地点中山网站建设公司哪家好
  • 关于【机器人小脑】的快速入门介绍
  • 无线收发模块保障砂芯库桁架机器人稳定无线通信实践
  • 北京有哪些网站建设国家企业信用信息系统(全国)
  • LabVIEW 动态信号分析
  • 腾讯云容器服务
  • 怎么做网站推广电话广西网站建设哪家有
  • 实战:基于 BRPC+Etcd 打造轻量级 RPC 服务——高级特性与生产环境深度实践
  • 蓝耘MaaS驱动PandaWiki:零基础搭建AI智能知识库完整指南
  • C语言,结构体
  • [创业之路-599]:193nm、266nm、355nm深紫外激光器的上下游产业链和相应的国产化公司
  • 安溪住房和城乡规划建设局网站wordpress+左侧菜单
  • Ubuntu 系统中防火墙
  • 摄像头-激光雷达在线标定相机脚本(ROS 版)
  • 做网站建设需要多少钱手机营销软件
  • 360官方网站餐饮网站开发毕业设计模板
  • 从0到1玩转BurpSuite:Web安全测试进阶之路
  • Go-Zero API Handler 自动化生成与参数验证集成
  • Choosing the Number of Clusters|选择聚类的个数
  • golang基础语法(五)切片
  • Golang学习笔记:标准库sync包
  • 【Git】Git 简介及基本操作
  • 网站模版怎么做wordpress 图片 二级域名
  • 点击EDGE浏览器下载的PDF文件总在EDGE中打开