美文网首页
2.ns3的日志(转载)

2.ns3的日志(转载)

作者: 岳麓山鸡王 | 来源:发表于2018-09-27 13:46 被阅读0次

转载自:http://blog.sina.com.cn/s/blog_7ec2ab360102wx5z.html

export NS_LOG="MpTcpCrypto:MpTcpFullMesh:MpTcpMapping:MpTcpNdiffPorts:MpTcpSchedulerRoundRobin:MpTcpSocketBase:MpTcpSubflow:TcpOptionMpTcp:TcpSocketBase:TcpTxBuffer"

export NS_LOG="MpTcpHeader:MpTcpL4Protocol:MpTcpSocketBase:MpTcpTypeDefs:MpTcpPacketSink:TcpRxBuffer:TcpTxBuffer:TcpSocketBase:FirstMultipathToplogy"

NS3中的日志信息默认是输出到terminal的,可以采用以下方法将信息重定向到文件中。

./waf --run scratch/myprogram>& log.out

LOG_ERROR— Log error messages (associated macro: NS_LOG_ERROR);

LOG_WARN— Log warning messages (associated macro: NS_LOG_WARN);

LOG_DEBUG— Log relatively rare, ad-hoc debugging messages (associated macro: NS_LOG_DEBUG);

LOG_INFO— Log informational messages about program progress (associated macro: NS_LOG_INFO);

LOG_FUNCTION— Log a message describing each function called (two associated macros: NS_LOG_FUNCTION, used for member functions, and NS_LOG_FUNCTION_NOARGS, used for static functions);

LOG_LOGIC– Log messages describing logical flow within a function (associated macro: NS_LOG_LOGIC);

LOG_ALL— Log everything mentioned above (no associated macro)

在仿真过程中发生了很多你所没有看到的事情。现在可以很容易的打开系统的日志组件,察看整个过程了。现在试着设置NS_LOG变量为:

$ export 'NS_LOG=*=level_all|prefix_func|prefix_time' //*是日志组件通配符,这将打开仿真过程中使用的所有日志。

可以将这些信息重定向到一个文件,并且用自己喜欢的编辑器打开查看。

$ ./waf --run scratch/first>log.out 2>&1 //重定向到log.out文件中。 2>$1表示将一个标准错误输出重定向到标准输出。

可以通过几个宏调用日志组件给仿真增加新的日志功能。

例如在first.cc中,我们已经定义了一个组件:

NS_LOG_COMPONENT_DEFINE("FirstScriptExample");

我们已经了解了通过设置NS_LOG环境变量来给组件启用日志功能。我们可以给脚本增加一些日志功能。用来增加信息级别的日志消息的宏是NS_LOG_INFO。

现在我们来增加一个日志消息,显示本脚本在“创建拓扑”:

打开scratch/first.cc文件并且在

NodeContainer nodes;

nodes,Create(2);

之前加上一行:

NS_LOG_INFO ("Creating Topology");

用waf编译脚本并且清楚NS_LOG环境变量,来关掉之前启用的日志文件

$ ./waf

$ export NS_LOG=

然后运行脚本,但是看不到新的日志消息,那是因为与它相关的日志组件(FirstScriptExample)没有被启用。为了看到该日志的消息,必须使用大于或等于NS_LOG_INFO的日志级别来启用FirstScriptExample日志组件。如果只是想要看某个级别的日志,你可以通过下面的语句来启用它,

$ export NS_LOG=FirstScriptExample=info

再运行脚本,可以看到“Creating Topology”的日志消息。

相关文章

网友评论

      本文标题:2.ns3的日志(转载)

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