美文网首页
NS-3 日志的使用

NS-3 日志的使用

作者: Cabcab | 来源:发表于2018-11-13 16:04 被阅读0次

日志函数:

void LogComponentEnable (char const *name, enum LogLevel level);
void LogComponentEnableAll (enum LogLevel level);
void LogComponentDisable (char const *name, enum LogLevel level);
void LogComponentDisableAll (enum LogLevel level);


NS_LOG_ERROR(msg);//Log error messages;
NS_LOG_WARN(msg);//Log warning messages;
NS_LOG_DEBUG(msg);//Log relatively rare, ad-hoc debugging messages;
NS_LOG_INFO(msg);//Log informational messages about program progress;
NS_LOG_FUNCTION(parameters);//Log a message describing each function called;
NS_LOG_LOGIC(msg);//Log messages describing logical flow within a function;
NS_LOG_ALL//Log everything.
NS_LOG_UNCOND(msg);//无条件输出
NS_LOG_FUNCTION_NOARGS();
........

用法:

  1. int main(int argc,char *argv[])前:
`定义日志名字(不能重复)`
NS_LOG_COMPONENT_DEFINE ("ASpecialName");

NS_LOG_COMPONENT_DEFINE的定义在文件 .../ns-3.26/src/core/model/log.h

  1. 声明完变量,定义好命令行等一堆需要放在程序开头的东西之后:
`启动日志`
LogComponentEnable ("ASpecialName",LOG_LEVEL_INFO);
  1. 之后就可以在合适的地方使用其他日志函数了:

一些别的

在函数中插入

 LogComponentEnable ("UdpEchoClientApplication", LOG_LEVEL_INFO);
 LogComponentEnable ("UdpEchoServerApplication", LOG_LEVEL_INFO);

运行代码,输出:

NAME@ubuntu:~/source/ns-3.26$ ./waf --run scratch/second
Waf: Entering directory `/home/NAME/source/ns-3.26/build'
Waf: Leaving directory `/home/NAME/source/ns-3.26/build'
Build commands will be stored in build/compile_commands.json
'build' finished successfully (1.884s)
At time 2s client sent 1024 bytes to 10.1.2.4 port 9
At time 2.0078s server received 1024 bytes from 10.1.1.1 port 49153
At time 2.0078s server sent 1024 bytes to 10.1.1.1 port 49153
At time 2.01761s client received 1024 bytes from 10.1.2.4 port 9

后四行“sent”和“received”部分来自UdpEchoClientApplication和UdpEchoServerApplication的日志消息。


一个示例

#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/csma-module.h"
#include "ns3/internet-module.h"
#include "ns3/point-to-point-module.h"
#include "ns3/applications-module.h"
#include "ns3/ipv4-global-routing-helper.h"

using namespace ns3;

NS_LOG_COMPONENT_DEFINE ("AnExample");

int main (int argc, char *argv[])
{
  uint32_t AVariate = 3;

  CommandLine cmd;
  cmd.Parse (argc,argv);

  LogComponentEnable ("UdpEchoClientApplication", LOG_LEVEL_INFO);
  LogComponentEnable ("UdpEchoServerApplication", LOG_LEVEL_INFO);
  
  .......

  Simulator::Run ();
  Simulator::Destroy ();
  return 0;
}

Reference

相关文章

  • NS-3 日志的使用

    日志函数: 用法: int main(int argc,char *argv[])前: NS_LOG_COMPON...

  • NS-3 简介

    ns-3模拟器是一个离散事件网络模拟器,主要用于研究和教育用途。 ns-3项目始于2006年,是一个开发ns-3的...

  • 在ns-3中如何动态调整瓶颈链路带宽

    ns-3的tutorial和安装完ns-3后,目录example下给的例子,都是预先设定好channel的band...

  • NS-TRACING

    TRACING The *ns-3 *tracing system is built on the concept...

  • NS3 Callback内容翻译

    以下内容为NS3官方文档翻译。 1.5 Callbacks 回调某些 ns-3 的新手对代码中广泛使用的编程习惯不...

  • 使用SLF4J记录日志

    日志推荐 1、在使用日志时应该使用抽象层接口日志框架来记录日志,方便以后的扩展和更换日志框架; 2、日志...

  • NS3学习--dynamic-global-routing

    一、学习工具: 1. 参考资源: a.《ns-3网络模拟器基础及应用》 b. NS-3中文手册 c. NS3官网...

  • Spring Boot 源码分析系列02 logging模块日志

    01.日志使用背景 1.1日志使用 spring boot 的日志使用很简单,直接在工程目录的resource目录...

  • Internet Stack

    Internet stack aggregation ns-3源代码目录src / internet提供TCP /...

  • 三、Spring Boot与日志

    一、日志框架分类和选择 二、SLF4j的使用 三、SpringBoot日志关系 四、SpringBoot日志使用 ...

网友评论

      本文标题:NS-3 日志的使用

      本文链接:https://www.haomeiwen.com/subject/qtllfqtx.html