KENSv3
KAIST Educational Network System
Public Types | Public Member Functions | Static Public Attributes | List of all members
E::NetworkLog Class Reference
Inheritance diagram for E::NetworkLog:
E::Host E::Link E::NetworkSystem E::Wire E::Hub E::Switch

Public Types

enum  LOG_LEVEL {
  PACKET_TO_MODULE = 0UL , PACKET_FROM_MODULE , PACKET_TO_HOST , PACKET_FROM_HOST ,
  PACKET_ALLOC , PACKET_CLONE , PACKET_FREE , PACKET_QUEUE ,
  PACKET_DROPPED , SYSCALL_RAISED , SYSCALL_FINISHED , SYSCALL_BLOCKED ,
  SYSCALL_UNBLOCKED , SYSCALL_ERROR , APPLICATION_RETRUN , MODULE_ERROR ,
  PROTOCOL_ERROR , PROTOCOL_WARNING , TCP_LOG , LEVEL_COUNT
}
 Enumerations for log levels.
 

Public Member Functions

 NetworkLog (System &system)
 Constructs a NetworkLog instance. More...
 
 NetworkLog (System &system, uint64_t level)
 Constructs a NetworkLog instance with log level. More...
 
 ~NetworkLog ()
 Destructs a NetworkLog instance.
 
void print_log (uint64_t level, const char *format,...)
 Prints log with specified log level and format. NetworkLog::print_log prints logs specified in log level parameter. For example, if log level is set to TCP_LOG, it only prints TCP_LOG logs. If you want to print multiple log levels in NetworkLog, you can set log level with OR operation (i.e. SYSCALL_ERROR | MODULE_ERROR). More...
 
void vprint_log (uint64_t level, const char *format, va_list args)
 Prints log with specified log level and format. NetworkLog::print_log prints logs specified in log level parameter. For example, if log level is set to TCP_LOG, it only prints TCP_LOG logs. If you want to print multiple log levels in NetworkLog, you can set log level with OR operation (i.e. SYSCALL_ERROR | MODULE_ERROR). More...
 

Static Public Attributes

static uint64_t defaultLevel
 Default log level. More...
 

Constructor & Destructor Documentation

◆ NetworkLog() [1/2]

E::NetworkLog::NetworkLog ( System system)

Constructs a NetworkLog instance.

Parameters
systemSystem

◆ NetworkLog() [2/2]

E::NetworkLog::NetworkLog ( System system,
uint64_t  level 
)

Constructs a NetworkLog instance with log level.

Parameters
systemSystem
levellog level

Member Function Documentation

◆ print_log()

void E::NetworkLog::print_log ( uint64_t  level,
const char *  format,
  ... 
)

Prints log with specified log level and format. NetworkLog::print_log prints logs specified in log level parameter. For example, if log level is set to TCP_LOG, it only prints TCP_LOG logs. If you want to print multiple log levels in NetworkLog, you can set log level with OR operation (i.e. SYSCALL_ERROR | MODULE_ERROR).

Note
Log::print_log
Parameters
levellog level
formatFormat string
...Print arguments for format string

◆ vprint_log()

void E::NetworkLog::vprint_log ( uint64_t  level,
const char *  format,
va_list  args 
)

Prints log with specified log level and format. NetworkLog::print_log prints logs specified in log level parameter. For example, if log level is set to TCP_LOG, it only prints TCP_LOG logs. If you want to print multiple log levels in NetworkLog, you can set log level with OR operation (i.e. SYSCALL_ERROR | MODULE_ERROR).

Note
Log::print_log
Parameters
levellog level
formatFormat string
argsPrint arguments for format string

Member Data Documentation

◆ defaultLevel

uint64_t E::NetworkLog::defaultLevel
static
Initial value:
= (
0UL)

Default log level.


The documentation for this class was generated from the following files: