Public Member Functions | |
this (char[] name) | |
char[] | getName () |
char[] | getAddress () |
void | setName (char[] name) |
void | setAddress (char[] address) |
LoggerInstance | getRootLogger () |
synchronized LoggerInstance | getLogger (char[] name) |
int | opApply (int(*dg)(inout Logger)) |
Private Member Functions | |
void | insertLogger (LoggerInstance l) |
void | updateLoggers (LoggerInstance changed, bool force) |
void | propogate (LoggerInstance logger, LoggerInstance changed, bool force) |
Private Attributes | |
char[] | name |
char[] | address |
LoggerInstance | root |
LoggerInstance[char[]] | loggers |
Definition at line 376 of file Hierarchy.d.
|
Construct a hierarchy with the given name. Definition at line 390 of file Hierarchy.d. |
|
Return the name of this Hierarchy Definition at line 405 of file Hierarchy.d. |
|
Return the address of this Hierarchy. This is typically attached when sending events to remote monitors. Definition at line 417 of file Hierarchy.d. |
|
Set the name of this Hierarchy Definition at line 428 of file Hierarchy.d. |
|
Set the address of this Hierarchy. The address is attached used when sending events to remote monitors. Definition at line 440 of file Hierarchy.d. |
|
Return the root node. Definition at line 451 of file Hierarchy.d. |
|
Return the instance of a Logger with the provided name. If the instance does not exist, it is created at this time. Definition at line 463 of file Hierarchy.d. References insertLogger(), loggers, and updateLoggers(). |
|
Iterate over all Loggers in list Definition at line 493 of file Hierarchy.d. References Logger. |
|
Loggers are maintained in a sorted linked-list. The order is maintained such that the shortest name is at the root, and the longest at the tail. This is done so that updateLoggers() will always have a known environment to manipulate, making it much faster. Definition at line 520 of file Hierarchy.d. References Exception, LoggerInstance::name, LoggerInstance::next, and propogate(). Referenced by getLogger(). |
|
Propogate hierarchical changes across known loggers. This includes changes in the hierarchy itself, and to the various settings of child loggers with respect to their parent(s). Definition at line 559 of file Hierarchy.d. References LoggerInstance::next, and propogate(). Referenced by getLogger(), LoggerInstance::setBreakpoint(), and LoggerInstance::setLevel(). |
|
Propogate changes in the hierarchy downward to child Loggers. Note that while 'parent' and 'breakpoint' are always forced to update, the update of 'level' is selectable. Definition at line 581 of file Hierarchy.d. References LoggerInstance::breakpoint, LoggerInstance::isCloserAncestor(), LoggerInstance::level, and LoggerInstance::parent. Referenced by insertLogger(), and updateLoggers(). |
|
Definition at line 378 of file Hierarchy.d. Referenced by LoggerInstance::this(). |
|
Definition at line 378 of file Hierarchy.d. |
|
Definition at line 381 of file Hierarchy.d. |
|
Definition at line 382 of file Hierarchy.d. Referenced by getLogger(). |