多进程log4cxx区分日志
(金庆的专栏)
网游客户端一般会多开,多个进程会写同一个日志文件。log4cxx看来会对文件加锁,防止多进程写同一文件写乱,截止目前还没发现错乱的日志。
log4cxx有个MDC(Mapped Diagnostic Context) 功能,可以区分不同进程的日志。
在日志格式中插入帐号名,就可以区分不同帐号的日志。
格式如下,其中%X{Account} 为MDC记录的帐号名。
<param name="ConversionPattern" value="%d %5p %X{Account} %c %x - %m%n"/>
在获取帐号后记录MDC:
log4cxx::MDC::put("Account", sAccount);
日志输出如下: 其中JqAas为帐号:
2014-03-28 16:38:12,012 INFO JqAas Lua - Create scene.