$ export 'NS_LOG=UdpEchoClientApplciation=level_all' # 모든 사건(?)을 Log로 출력
$ export 'NS_LOG=UdpEchoClientApplciation=level_all|prefix_time' #시간을 prefix로 출력
$ export 'NS_LOG=*=level_all|prefix_func|prefix_time'
코드에
NS_LOG_COMPONENT_DEFINE ("HelloExample")
NS_LOG_INFO ("Hello");
가 정의되어 있다면
$ export NS_LOG=HelloExample=info
# 출력은
Hello
At time +2s ...
시뮬레이션이 끝나면 해당 시뮬레이션에서 사용한 로깅 모듈을 초기화 해주는 것이 좋다.
# LOG 초기화
$ export NS_LOG=
우선 코드에
...
int
main (int argc, char *argv[])
{
// 쓰겠다 하면
CommandLine cmd;
cmd.Parse (argc, argv);
// 추가
...
를 추가한다.
int
main (int argc, char *argv[])
{
uint32_t nPackets = 1; // 변수 초기화
CommandLine cmd;
cmd.AddValue("npackets","Number of packets", nPackets);
cmd.Parse (argc, argv);
...
echoClient.SetAttribute("MaxPackets",UintegerValue(nPackets));
$ ./waf --run "simulation --npackets=6"
이렇게 하면 변수를 커맨드 라인을 통해 변경할 수 있다.