首先我们看下tsung配置的基本目录结构

每次tsung启动在相应时间戳文件夹下,产生三种log文件

match.log:可以用于记录服务器的response(这个暂时还没有仔细查看代码)

tsung.log:用于记录压测过程中的statics数据

tsung_controller@XXX.log:用于记录程序启动运行中产生的程序运行提示log

 

tsung运行过程中的日志分为8个等级

 

 
  
  1. %% Debug messages can be completely disabled if DEBUG is not defined 
  2. -ifdef(DEBUG). 
  3.     -define(TRACE, [{debug, [trace]}]). 
  4.     -define(DebugF(Msg, Args), 
  5.             ts_utils:debug(?MODULE, Msg, Args, ?DEB)). 
  6.     -define(Debug(Msg), 
  7.             ts_utils:debug(?MODULE, Msg, ?DEB)). 
  8. -else. 
  9.     -define(TRACE, []). 
  10.     -define(DebugF(Msg, Args), ok). 
  11.     -define(Debug(Msg), ok). 
  12. -endif. 
  13.  
  14. -define(EMERG, 0). % The system is unusable. 
  15. -define(ALERT, 1). % Action should be taken immediately to address the problem. 
  16. -define(CRIT, 2).  % A critical condition has occurred. 
  17. -define(ERR, 3).   % An error has occurred. 
  18. -define(WARN, 4).  % A significant event that may require attention has occurred. 
  19. -define(NOTICE, 5).% An event that does not affect system operation has occurred. 
  20. -define(INFO, 6).  % An normal operation has occurred. 
  21. -define(DEB, 7).   % Debugging info 

对于0-6等级,我们可以直接设置。

对于7等级也就是debug模式,代码中我们也可以看到因为宏的原因(这里类似C的预编译用法),我们必须在编译时指定make debug。

 

对日志等级进行设置,我们可以直接在配置文件中进行修改,类似下图这样:

 
  
  1. <?xml version="1.0"?> 
  2. <!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd" [] > 
  3. <tsung loglevel="info"> 
  4. ... 
  5. </tsung> 

这里有一个需要注意的,一开始也让我困惑过的地方,在tsung的启动脚本中也是可以设置$DEBUG_LEVEL的,默认是5, 也就是NOTICE等级, 但我们可以通过命令行启动时如此:tsung -d 6 start,这样也就把debug_level设置为了INFO等级。

但此时设置的等级仅仅在配置文件读取之前有效,源码中我们可以看到ts_config_server读取配置文件时重新根据配置文件的设置重置了debug_level这个value。

 

因为开始用tsung遇到了不少问题,过几天,我会把tsung的源码过一遍,顺便用文章记录下来。