Changeset 1080
- Timestamp:
- 06/07/08 22:39:12 (3 months ago)
- Files:
-
- trunk/mango/net/servlet/Servlet.d (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/mango/net/servlet/Servlet.d
r1078 r1080 42 42 class Servlet 43 43 { 44 char[] name; 44 private Logger log; 45 private char[] name; 45 46 46 47 /********************************************************************** … … 60 61 { 61 62 this.name = name; 63 log = Log.lookup (name); 64 } 65 66 /********************************************************************** 67 68 return an optional logger instance 69 70 **********************************************************************/ 71 72 Logger logger () 73 { 74 return log; 62 75 } 63 76 … … 88 101 average4 = 0, 89 102 average8 = 0; 90 ulong requests = 0,91 failures = 0;103 ulong failures = 0, 104 responses = 0; 92 105 93 106 94 107 void update (double time) 95 108 { 96 ++re quests;109 ++responses; 97 110 this.time = time; 98 111 average2 = (average2 + time) / 2.0; … … 124 137 class MethodServlet : Servlet 125 138 { 126 Logger log; 127 Metrics[] metrics; 139 private Metrics[] metrics; 128 140 129 141 private alias void delegate (IServletRequest, IServletResponse) Handler; … … 138 150 super (name); 139 151 140 log = Log.lookup (name);141 152 metrics = new Metrics [7]; 142 }143 144 /**********************************************************************145 146 return an optional logger instance147 148 **********************************************************************/149 150 Logger logger ()151 {152 return log;153 153 } 154 154 … … 334 334 } 335 335 336 // log execution time337 auto log = logger;338 336 try { 339 337 // invoke handler … … 344 342 345 343 if (log) 346 log.trace (Log.format() ("{} {}, {} failures, {} requests, average {}us", 347 method, request.path, metric.failures, metric.requests, 348 metric.average * 1_000_000)); 349 344 { 345 char[1024] buf = void; 346 log.info (log.format(buf, "{} {}, {} responses, {} failures, average {}us", 347 method, request.path, metric.responses, metric.failures, 348 metric.average * 1_000_000)); 349 } 350 350 } catch (Exception e) 351 351 { 352 352 ++metric.failures; 353 353 if (log) 354 log.error (Log.format() ("{} {}, {} failures: {}", 355 method, request.path, metric.failures, e)); 354 { 355 char[1024] buf = void; 356 log.error (log.format(buf, "{} {}, {} responses, {} failures: {}", 357 method, request.path, metric.responses, metric.failures, e)); 358 } 356 359 throw e; 357 360 }
