 |
Changeset 3029
- Timestamp:
- 12/13/07 01:07:25
(1 year ago)
- Author:
- kris
- Message:
adjusted the Log subsystem to support dynamic log-levels, based upon the work from Stonecobra. Added his example also. Major kudos to Stonecobra for this - an awesome feature!
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r3026 |
r3029 |
|
| 95 | 95 | char[] header (Event event) |
|---|
| 96 | 96 | { |
|---|
| 97 | | event.append(event.getName).append(" - "); |
|---|
| | 97 | event.append(event.getName).append(event.getHierarchy.context.label).append(" - "); |
|---|
| 98 | 98 | return event.getContent; |
|---|
| 99 | 99 | } |
|---|
| … | … | |
| 119 | 119 | event.append (event.getLevelName) |
|---|
| 120 | 120 | .append (event.getName) |
|---|
| | 121 | .append(event.getHierarchy.context.label) |
|---|
| 121 | 122 | .append (" - "); |
|---|
| 122 | 123 | return event.getContent; |
|---|
| … | … | |
| 147 | 148 | .append (event.getLevelName) |
|---|
| 148 | 149 | .append (event.getName) |
|---|
| | 150 | .append(event.getHierarchy.context.label) |
|---|
| 149 | 151 | .append (" - "); |
|---|
| 150 | 152 | return event.getContent; |
|---|
| 151 | 153 | } |
|---|
| 152 | 154 | } |
|---|
| 153 | | |
|---|
| 154 | | |
|---|
| 155 | | /******************************************************************************* |
|---|
| 156 | | |
|---|
| 157 | | A simple layout comprised only of time(ms), level, name, message, |
|---|
| 158 | | and label from the Context. |
|---|
| 159 | | |
|---|
| 160 | | *******************************************************************************/ |
|---|
| 161 | | |
|---|
| 162 | | public class SimpleTimerContextLayout : EventLayout |
|---|
| 163 | | { |
|---|
| 164 | | /*********************************************************************** |
|---|
| 165 | | |
|---|
| 166 | | Format outgoing message |
|---|
| 167 | | |
|---|
| 168 | | ***********************************************************************/ |
|---|
| 169 | | |
|---|
| 170 | | char[] header (Event event) |
|---|
| 171 | | { |
|---|
| 172 | | char[20] tmp; |
|---|
| 173 | | |
|---|
| 174 | | event.append (toMilli (tmp, event.getSpan)) |
|---|
| 175 | | .append (" ") |
|---|
| 176 | | .append (event.getLevelName) |
|---|
| 177 | | .append (event.getName) |
|---|
| 178 | | .append (event.getHierarchy.getContext.label) |
|---|
| 179 | | .append (" - "); |
|---|
| 180 | | return event.getContent; |
|---|
| 181 | | } |
|---|
| 182 | | } |
|---|
| r3026 |
r3029 |
|
| 160 | 160 | final bool isEnabled (Level level = Level.Fatal) |
|---|
| 161 | 161 | { |
|---|
| 162 | | return hierarchy.context.enabled (level_, level); |
|---|
| | 162 | return hierarchy.context.isEnabled (level_, level); |
|---|
| 163 | 163 | } |
|---|
| 164 | 164 | |
|---|
| … | … | |
| 364 | 364 | final Logger append (Level level, lazy char[] exp) |
|---|
| 365 | 365 | { |
|---|
| 366 | | if (hierarchy.context.enabled (level_, level)) |
|---|
| | 366 | if (hierarchy.context.isEnabled (level_, level)) |
|---|
| 367 | 367 | { |
|---|
| 368 | 368 | auto event = Event.allocate; |
|---|
| … | … | |
| 457 | 457 | private LoggerInstance root; |
|---|
| 458 | 458 | private LoggerInstance[char[]] loggers; |
|---|
| 459 | | private Context context; |
|---|
| | 459 | private Context context_; |
|---|
| 460 | 460 | |
|---|
| 461 | 461 | /*********************************************************************** |
|---|
| … | … | |
| 481 | 481 | final char[] label () |
|---|
| 482 | 482 | { |
|---|
| 483 | | return "<label>"; |
|---|
| | 483 | return ""; |
|---|
| 484 | 484 | } |
|---|
| 485 | 485 | |
|---|
| … | … | |
| 489 | 489 | **********************************************************************/ |
|---|
| 490 | 490 | |
|---|
| 491 | | final bool enabled (ILevel.Level level, ILevel.Level test) |
|---|
| | 491 | final bool isEnabled (ILevel.Level level, ILevel.Level test) |
|---|
| 492 | 492 | { |
|---|
| 493 | 493 | return test >= level; |
|---|
| … | … | |
| 548 | 548 | **********************************************************************/ |
|---|
| 549 | 549 | |
|---|
| 550 | | final void setContext (Context context) |
|---|
| 551 | | { |
|---|
| 552 | | this.context = context; |
|---|
| | 550 | final void context (Context context) |
|---|
| | 551 | { |
|---|
| | 552 | this.context_ = context; |
|---|
| 553 | 553 | } |
|---|
| 554 | 554 | |
|---|
| … | … | |
| 560 | 560 | **********************************************************************/ |
|---|
| 561 | 561 | |
|---|
| 562 | | final Context getContext () |
|---|
| 563 | | { |
|---|
| 564 | | return context; |
|---|
| | 562 | final Context context () |
|---|
| | 563 | { |
|---|
| | 564 | return context_; |
|---|
| 565 | 565 | } |
|---|
| 566 | 566 | |
|---|
| r2809 |
r3029 |
|
| 30 | 30 | *******************************************************************************/ |
|---|
| 31 | 31 | |
|---|
| 32 | | class Log |
|---|
| | 32 | class Log : ILevel |
|---|
| 33 | 33 | { |
|---|
| 34 | 34 | static private Hierarchy base; |
|---|
| r3026 |
r3029 |
|
| 47 | 47 | ***********************************************************************/ |
|---|
| 48 | 48 | |
|---|
| 49 | | void setContext (Context context); |
|---|
| | 49 | void context (Context context); |
|---|
| 50 | 50 | |
|---|
| 51 | 51 | /*********************************************************************** |
|---|
| … | … | |
| 55 | 55 | ***********************************************************************/ |
|---|
| 56 | 56 | |
|---|
| 57 | | Context getContext (); |
|---|
| | 57 | Context context (); |
|---|
| 58 | 58 | |
|---|
| 59 | 59 | /*********************************************************************** |
|---|
| … | … | |
| 67 | 67 | interface Context |
|---|
| 68 | 68 | { |
|---|
| | 69 | /// return a label for this context |
|---|
| 69 | 70 | char[] label (); |
|---|
| 70 | 71 | |
|---|
| 71 | | bool enabled (ILevel.Level setting, ILevel.Level target); |
|---|
| | 72 | /// first arg is the setting of the logger itself, and |
|---|
| | 73 | /// the second arg is what kind of message we're being |
|---|
| | 74 | /// asked to produce |
|---|
| | 75 | bool isEnabled (ILevel.Level setting, ILevel.Level target); |
|---|
| 72 | 76 | } |
|---|
| 73 | 77 | } |
|---|
Download in other formats:
|
 |
 |
|
 |
Copyright © 2006-2008 Tango. All Rights Reserved. | Page Width:
Static or
Dynamic