zlog运行时增加format和rule规则
zlog是一个日志库,我对它的配置化操作很感兴趣
我希望zlog能在运行时增加format和rule规则,这样做有个好处(见issues
): 相同的日志输出格式可以在运行时,统一定义。
增加这个功能尝试修改了一下。
zlog.h添加增删[format]和[rule]规则的接口(删规则还未实现)
int zlog_add_format(const char *ctx);
void zlog_del_format(const char *name);
int zlog_add_rule(const char *ctx);
void zlog_del_rule(const char *name);
test目录里增加了相应的测试用例test_add_rule.c
// Fil...
Click to read more ...
修复toluapp在lua5.3的整数错误
长期以来,lua number即用来表示整数类型,也用来表示浮点类型。
最近将旧工程lua从5.1.4升级到5.3.4后。发现以下问题,lua_pushnumber压入整数,该值在lua里打印却是带有“点号”浮动数
// c/c++ File
int val = 1;
lua_pushnumber(L, val);
lua_setglobal(L, "value");
-- Lua File
print(value)
--5.1.4打印"1"
--5.3.4打印"1.0"
出现这个问题,原因是Lua 5.3之后,官方已明确区分integer和number类型
Changes since Lua 5.2
Here are the main changes introduced...
Click to read more ...
进程开关实例及shell技巧
后端程序免不了经常启动、关闭和检查进程。本文简单实现这3个操作,引出一些shell技巧。
只是自己的一些经验,难免会有偏颇,不过抛砖引玉罢。
进程列表
进程列表是key-value结构,通过进程名称(key),获取其对应配置信息(value)。不像其它高级编程语言,shell原生没有key-value容器。另外列表不会很长,选择遍历列表的做法不会对性能影响太大
# 配置列表
proc_list=\
(
loginSrv="-cfg loginSrv.cfg -ip 192.168.0.2 -port 123"
dbSrv="-cfg dbSrc.cfg -ip 192.168.0.3 -port 456"
)
# 通过进程名称,获取列表配置信息
function get_p...
Click to read more ...
斯蒂芬·金《写作那会事》
前部分是作者的自传,后部分介绍写作经验心得体会。全书没有严肃的教条,通俗易懂。
作者书中多次推荐另一本写作技巧书。小威廉.斯特伦克和e.b怀特合著的《风格的要素》
在开始写作前,找一个能让你进入安静工作的地方,
以下我阅读后,总结的写作技巧
描述有时侯不必细致,留给读者去想象。
积累词汇。为了准确表达内容。
学好语法。错误的语法导致含义模糊,但是正确语法的语句也不见得有实际意义。
适当使用被动语法。被动语法可以避免与主语产生行动竞争,但可以为语句增加权威性。如:“会议将于七点整被举行”修改成“会议定在七点整”
适当使用副词。读者通过现实的...
Click to read more ...