通用 log 日志库。

今天又试用了 log4c 至此 log4cpp log4cplus log4cxx log4c 四大家子全部试用完,

没有一个尽人百分百满意的地方。

log4c 有 stream appender 却没有 log4cpp 的 syslog 及 trace 日志。

而 log4cpp 却在内存管理上或者我想要的 console log/logcat/ 都不满足。

唉 有时间真想重写了一套 log frame 出来了。


我打算写一套完美的日志库,平台支持unix/windows/freebsd/linux/android/ios/etc... 

同步环境支持 syslog, file, rollfile, stream, trace, console, socket, serial port, etc....
我比较懒,这是交给明年的活了


这些日志库都非常简单,比如说你习惯远程串口的 log 这些库 显然没有一个满足 比如我想要的 线程单一日志 不想让不同的现实 日志打到一起 等等


经过一轮分析 综合认为 log4cpp 还是中间比较好的 但是在内存管理上用了过多的静态变量,造成好多内存检测工具认为其是内存泄露。
所以打算拿 C 去写,在控制上面比较好把握。
至于 layout 暂定为 xml 和文本两种吧

.版本 2 .子程序 _删除_被选择 .局部变量 当前选中, 整数型 .局部变量 文本数组, 文本型, , "0" .局部变量 文本数组2, 文本型, , "0" .局部变量 删除容器, 字节集 .局部变量 x, 整数型 .如果真 (列表框1.现行选中项 = -1) 信息框 (“请在列表中选中需要删除的会员!”, 0, ) 返回 () .如果真结束 当前选中 = 列表框1.现行选中项 移到文件首 (文件号) 删除容器 = 读入字节集 (文件号, 取文件长度 (文件号)) 文本数组 = 分割文本 (到文本 (删除容器), #换行符, ) .计次循环首 (取数组成员数 (文本数组), x) .如果 (当前选中 + 1 = x) 文本数组2 = 分割文本 (文本数组 [x], “,”, ) .如果真 (信息框 (“会员卡号:” + 文本数组2 [1] + #换行符 + “会员名字:” + 文本数组2 [2] + #换行符 + “卡类型:” + 文本数组2 [4] + #换行符 + “您确定要删除?”, #警告图标 + #是否钮, “删除会员信息:”) = 5) 删除成员 (文本数组, x, ) 跳出循环 () .如果真结束 返回 () .否则 .如果结束 .计次循环尾 () 移到文件首 (文件号) 删除数据 (文件号, 取文件长度 (文件号)) .计次循环首 (取数组成员数 (文本数组), x) .如果 (取数组成员数 (文本数组) = x) 写出字节集 (文件号, 到字节集 (文本数组 [x])) .否则 写出字节集 (文件号, 到字节集 (文本数组 [x] + #换行符)) .如果结束 .计次循环尾 () 子程序载入数据 () .子程序 子程序删除会员 .参数 会员号, 文本型 .局部变量 删除容器, 字节集 .局部变量 文本数组, 文本型, , "0" .局部变量 文本数组2, 文本型, , "0" .局部变量 x, 整数型 .' 如果 (会员号 ≠ “”) ' 移到文件首 (文件号) ' 删除容器 = 读入字节集 (文件号, 取文件长度 (文件号)) ' 文本数组 = 分割文本 (到文本 (删除容器), #换行符, ) .' 计次循环首 (取数组成员数 (文本数组), x) ' 文本数组2 = 分割文本 (文本数组 [x], “,”, ) .' 如果真 (文本数组2 [1] = 会员号) .' 如果真 (信息框 (“会员卡号:” + 文本数组2 [1] + #换行符 + “会员名字:” + 文本数组2 [2] + #换行符 + “卡类型:” + 文本数组2 [4] + #换行符 + “您确定要删除?”, #警告图标 + #是否钮, “删除会员信息:”) = 5) ' 删除成员 (文本数组, x, ) ' 跳出循环 () .如果真结束 ' 返回 () .如果真结束 .' 计次循环尾 () ' 移到文件首 (文件号) ' 删除数据 (文件号, 取文件长度 (文件号)) .' 计次循环首 (取数组成员数 (文本数组), x) .' 如果 (取数组成员数 (文本数组) = x) ' 写出字节集 (文件号, 到字节集 (文本数组 [x])) .否则 ' 写出字节集 (文件号, 到字节集 (文本数组 [x] + #换行符)) .如果结束 .' 计次循环尾 () ' 会员号 = “” ' 子程序载入数据 () .否则 .如果结束 .子程序 _导入_被选择 .局部变量 导入容器, 字节集 .局部变量 文本数组, 文本型, , "0" .局部变量 文件号2, 整数型 .局部变量 临时变量, 文本型 信息框 (“本导入程序不会对您所导入的数据进行校验,请正确选择需要导入的数据备份!” + #换行符 + “否则将会导致不可逆的数据损坏!”, #警告图标, “警告!!”) .如果真 (通用对话框1.打开 () = 假) 返回 () .如果真结束 关闭所有文件 () 文件号2 = 打开加密文件 (通用对话框1.文件名, 3, , “19@85(32%71&BvC”, ) 移到文件首 (文件号2) 导入容器 = 读入字节集 (文件号2, 取文件长度 (文件号2)) 临时变量 = 子文本替换 (取当前目录 (), “\bakup”, “”, 1, , 真) 文件号 = 打开加密文件 (临时变量 + “\data.dat”, 4, , “19@85(32%71&BvC”, ) 移到文件首 (文件号) 写出字节集 (文件号, 导入容器) 关闭所有文件 () 信息框 (“为让系统正确运行,请关闭程序重新运行!”, #信息图标, )
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值