log的简单说明

@(NS3相关)[core][log]

NS3中的日志功能是非常完善与灵活,大家有需要显示一些调试或者警告信息时最好使用log,不再使用标准输入来输出中间信息。

  • 头文件:ns3/log.h
  • v2g/model中对应的cc文件注册对应的日志组件(一般一个类对应一个日志组件,如EvApp.cc中注册了“EvApp"日志组件
  • 注册了日志组件后,就可以在对应的源文件源文件中使用相关的宏写入日志信息。 具体包括:
NS_LOG_ERROR();//写入LOG_LEVEL_ERROR级别的日志信息
NS_LOG_WARN();//写入LOG_LEVEL_WARN级别日志信息
NS_LOG_DEBUG();//写入LOG_LEVEL_DEBUG级别日志信息
NS_LOG_INFO();//写入LOG_LEVEL_INFO级别日志信息
NS_LOG_FUNCTION();//写入LOG_LEVEL_FUNCTION级别日志信息
NS_LOG_LOGIC();//写入LOG_LEVEL_LOGIC级别日志信息

使用这些宏就和使用标准输出一样,非常方便, 需要输出多个变量时,变量间用<<连接。示例如下

int i
NS_LOG_DEBUG(i);
NS_LOG_DEBUG("Debug log");
NS_LOG_INFO("info log:" << i <<" done");
  • 在脚本中使用LogComponentEnable宏来定义日志组件使能级别,即可控制输出信息。使能级别为LOG_LEVEL_INFO时,LOG_LEVEL_INFO以下(包括LOG_LEVEL_INFO)的相关日志信息都会输出。如
//in exam-app.cc
void ExamApp::Test()
{
NS_LOG_ERROR("NS_LOG_ERROR");
NS_LOG_WARN("NS_LOG_WARN");
NS_LOG_DEBUG("NS_LOG_DEBUG");
NS_LOG_INFO("NS_LOG_INFO");
NS_LOG_FUNCTION (this << "NS_LOG_FUNCTION ");
NS_LOG_LOGIC("NS_LOG_LOGIC");
std::cout << m_appId << std::endl;
} //in test-exam-app.cc
#include "ns3/exam-app.h"
#include "ns3/log.h" using namespace ns3; int main()
{
LogComponentEnable ("ExamApp", LOG_LEVEL_FUNCTION);
ExamApp a1("EV_1");
a1.Test();
return ;
}

执行main函数,除了"NS_LOG_LOGIC"字符串不会输出外,其他都会输出。

最新文章

  1. bat调用bat的一个巨坑
  2. ntc 热敏电阻
  3. const define 定义常量的区别
  4. 【C语言】02-基本数据类型
  5. Codeforces 439D Devu and his Brother 三分
  6. C语言笔记——简介与编译过程初探
  7. C++逗号运算符与逗号表达式
  8. Mysql C语言API编程入门讲解
  9. spring对bean的高级装配之基于@Conditional条件化装配
  10. 转 Mac 下自带的中文输入法不显示汉字提示问题
  11. springmvc+thymeleaf搭建框架启动报错
  12. Unicode编码学习
  13. C#-MVC开发微信应用(3)--文本消息和图文消息的应答
  14. C# 中 ? 和 ??
  15. linux2.6.30.4内核移植(4)&mdash;&mdash;完善串口驱动
  16. iOS下Symbol not found: ___sincosf_stret错误
  17. oracle数据update后怎么恢复到以前的数据
  18. 【BZOJ3309】DZY Loves Math 解题报告
  19. 在eclipse中安装 Activiti Designer插件
  20. Fiddler 使用

热门文章

  1. c#隐藏和重写基类方法的异同
  2. WinPhone学习笔记(四)——磁贴
  3. LCA---Tarjan算法
  4. MEF入门之不求甚解,但力求简单能讲明白(四)
  5. EC笔记,第一部分:1.视C++为一个语言联邦
  6. Tigase XMPP Server的安装
  7. oracle sql初次接触
  8. (学习笔记)HTML的&lt;link&gt;标签
  9. struts 用拦截器进行用户权限隔离,未登录用户跳到登录界面 *** 最爱那水货
  10. 解决 WinXP下 libcurl.dll 无法定位程序输入点GetTickCount64问题