NS3的记录系统
来源:互联网 发布:市场营销网络 编辑:程序博客网 时间:2024/06/06 08:20
- NS-3中的logging component简介
很多大型的系统都会支持“记录功能”(logging facility), NS-3也同样如此。不同的是其他的系统可能只记录一些“警告信息”(warning messages)、“错误信息”(error messages)或者“查错信息”(debug messages)。
但是NS-3提供多层次的可选择的信息记录功能。
NS-3提供7个层次的信息记录:
•LOG_ERROR — 记录错误信息 (相关联的宏: NS_LOG_ERROR);
• LOG_WARN — 记录警告信息(相关联的宏: NS_LOG_WARN);
• LOG_DEBUG — 记录相对少的自适应(ad-hoc)查错信息(相关联的宏: NS_LOG_DEBUG);
• LOG_INFO — 记录程序运行的信息(相关联的宏: NS_LOG_INFO);
• LOG_FUNCTION — 记录描述被调用的函数的信息(两个相关联的宏:NS_LOG_FUNCTION, 用于成员函数, and NS_LOG_FUNCTION_NOARGS, 用于静态方程);
• LOG_LOGIC – Log messages describing logical flow within a function (相关联的宏: NS_LOG_LOGIC);
• LOG_ALL — Log everything mentioned above (没有相关联的宏).
层次记录类型:
LOG_INFO 只激活NS_LOG_INFO 这个宏
LOG_LEVEL_INFO 激活三个宏: NS_LOG_DEBUG, NS_LOG_WARN, NS_LOG_ERROR
NS_LOG_UNCOND 无条件的记录相关信息
2. 例子
first.cc 这个代码里本身调用了记录功能(LOG_LEVEL_INFO)记录client和server的信息。
这里介绍一种在sh-like shell environment 中进行修改logging component
语法:
sh-like shell: "VARABLE=VALUE"
csh-like shell: "setenv VARIABLE value"
a)
code: export NS_LOG=UdpEchoClientApplication=level_all // 对client修改logging component;
//这个命令在目录ns-3-dev下和ns-3-allinone下运行都是有效的,但是./waf需要在ns-3-dev目录下运行才是有效的
结果:
注意: 此处用单引号是为了与C++中的scope operator区分开
用OR operation还增加操作
b) 对比两个不同的命令
加单引号是因为避免‘竖线 |’和unix中 pipe connector 混淆,在这里‘|’表示OR operation。
区别:所有涉及到log component的信息都会加上方程的前缀
现在为加前缀的就是来自echo server application的了
c) 显示模拟时间
命令:export ’NS_LOG=UdpEchoClientApplication=level_all|prefix_func|prefix_time:UdpEchoServerApplication=level_all|prefix_func|prefix_time’
对不同的函数进行操作,中间用单引号隔开
结果:
分析:
问题:为什么服务器受到packet之后要返回一个同样大小的(是同一个吗?)代码中没有server返回packet的命令
d) 记录所有信息并生成输出文件
命令:
export ’NS_LOG=*=level_all|prefix_func|prefix_time’
用通配符替换被操作函数
./waf --run scratch/myfirst > log.out 2>&1
制定输出文件,然后在编辑器中打开,搜索想要找到信息,用于debugg.
问题:文件保存到哪里了
答: 就在干操作目录下 文件名为log.out的文件
- NS3的记录系统
- ns3 Test 和 Log系统的配置
- ns3学习记录之常见参数的含义
- NS3学习记录(一)---Ubuntu下安装NS3
- NS3学习记录(二)---eclipse调试NS3配置
- NS3 的安装
- 安装NS3 的问题
- ns3的安装
- ns3的基础学习
- ns3的编译伏击
- NS3的安装
- 学习ns3的参考资料
- NS3 遇到的BUG
- NS3的ObjectFactory类
- NS3
- NS3
- NS3
- NS3
- Jsp文件发布后中文乱码
- uva714 - Copying Books
- 将servlet中的list传递到JSP页面中去
- 关于thinkphp入库出现两次反斜线转义和thinkphp数据库类的转义
- 最大最小堆
- NS3的记录系统
- (学习笔记 红书)——插入排序(1)
- VC++动态创建Menu
- 数据库服务器升级内存需要考虑的问题
- 从printf谈可变参数函数的实现
- IOS成长之路-ASIFormDataRequest实现上传图片
- Uva 10891 Game of Sum
- ios开发常用的宏
- 安装LoadRunner时出现“计算机缺少vc2005_sp1_with_atl_fix_redist”的解决办法