|
| 1 | +<!DOCTYPE html> |
| 2 | +<html> |
| 3 | + <head> |
| 4 | + <meta charset="UTF-8"> |
| 5 | + <title>ExceptionID.js - manual test page</title> |
| 6 | + <link rel="stylesheet" type="text/css" href="https://raw.githubusercontent.com/twbs/bootstrap/master/dist/css/bootstrap.min.css" /> |
| 7 | + <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.1.0/styles/default.min.css"> |
| 8 | + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.1.0/highlight.min.js"></script> |
| 9 | + <script type="application/javascript" src="browser/toplevel/eid.min.js"></script> |
| 10 | + <style type="text/css"> |
| 11 | + @import url(https://fonts.googleapis.com/css?family=PT+Sans|Source+Code+Pro); |
| 12 | + body { |
| 13 | + font-family: 'PT Sans', sans-serif; |
| 14 | + font-size: 1.3em; |
| 15 | + padding: 1em; |
| 16 | + } |
| 17 | + pre, code { |
| 18 | + font-family: 'Source Code Pro', monospace; |
| 19 | + } |
| 20 | + pre#console { |
| 21 | + display:block; |
| 22 | + font:normal 1em/1.5em 'Source Code Pro', monospace; |
| 23 | + color: #CFDBEC; |
| 24 | + background-color:#2f2f2f; |
| 25 | + background-image:-webkit-repeating-linear-gradient(top, #353535 0em, #353535 1.5em, #2f2f2f 1.5em, #2f2f2f 3em); |
| 26 | + background-image:-moz-repeating-linear-gradient(top, #353535 0em, #353535 1.5em, #2f2f2f 1.5em, #2f2f2f 3em); |
| 27 | + background-image:-ms-repeating-linear-gradient(top, #353535 0em, #353535 1.5em, #2f2f2f 1.5em, #2f2f2f 3em); |
| 28 | + background-image:-o-repeating-linear-gradient(top, #353535 0em, #353535 1.5em, #2f2f2f 1.5em, #2f2f2f 3em); |
| 29 | + background-image:repeating-linear-gradient(top, #353535 0em, #353535 1.5em, #2f2f2f 1.5em, #2f2f2f 3em); |
| 30 | + padding:0em 1em; |
| 31 | + overflow:auto; |
| 32 | + white-space: pre-wrap; |
| 33 | + } |
| 34 | + </style> |
| 35 | + </head> |
| 36 | + <body> |
| 37 | + <h1>ExceptionID.js - showcase</h1> |
| 38 | + |
| 39 | + <h3>Code:</h3> |
| 40 | + <pre><code class="javascript" id="code"> |
| 41 | + try { |
| 42 | + // Example entity objects |
| 43 | + var users = []; |
| 44 | + for (var i = 0; i < 5; i++) { |
| 45 | + var user = { id: 67112 - i }; |
| 46 | + user.toString = function() { return '[User id=' + this.id + ']'; }; |
| 47 | + users.push(user); |
| 48 | + } |
| 49 | + |
| 50 | + // logging support |
| 51 | + for (var i = 0; i < users.length; i++) { |
| 52 | + var user = users[i]; |
| 53 | + var eid = new Eid('20160111:223928', 'WJS-17'); |
| 54 | + log.debug(eid.makeLogMessage('An entity: %s', user)); |
| 55 | + log.debug(eid.makeLogMessage('%s has even ID: %s', user, user.id % 2 === 0)); |
| 56 | + } |
| 57 | + |
| 58 | + // preconditions! |
| 59 | + EidPreconditions.checkArgument(true, '20160111:223749'); |
| 60 | + EidPreconditions.checkState(false, '20160111:224215', 'A extra message'); |
| 61 | + } catch(e) { |
| 62 | + // Top level of your application |
| 63 | + log.error(e.toString() + ' - ' + e.stack); |
| 64 | + // or better save your exceptions! |
| 65 | + logGateway.put(e, {eid: e.eid}); |
| 66 | + } |
| 67 | + </code></pre> |
| 68 | + <h3>Console:</h3> |
| 69 | + <pre id="console"></pre> |
| 70 | + <script type="application/javascript"> |
| 71 | + (function() { |
| 72 | + var line = 1; |
| 73 | + function pad(n, width, z) { |
| 74 | + z = z || '0'; |
| 75 | + n = n + ''; |
| 76 | + return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n; |
| 77 | + } |
| 78 | + var println = function(message) { |
| 79 | + var pre = document.getElementById('console'); |
| 80 | + pre.textContent += message + "\n"; |
| 81 | + }; |
| 82 | + var logentry = function(level, msg) { |
| 83 | + var date = new Date().toISOString().slice(0, 23); |
| 84 | + println(pad(line, 3) + ': ' + level + ' ' + date + ' ' + msg); |
| 85 | + line += 1; |
| 86 | + }; |
| 87 | + var log = { |
| 88 | + debug: function(message) { |
| 89 | + logentry('DEBUG', message); |
| 90 | + }, |
| 91 | + error: function(message) { |
| 92 | + logentry('ERROR', message); |
| 93 | + } |
| 94 | + }; |
| 95 | + var logGateway = { |
| 96 | + put: function(ex, extra) { |
| 97 | + logentry('INFO', 'LogzGetewayFake.io sucessfully PUT an exception: `' + ex.toString() + '` with extra data of: `' + JSON.stringify(extra) + '`'); |
| 98 | + } |
| 99 | + }; |
| 100 | + var code = document.getElementById('code').textContent; |
| 101 | + eval(code); |
| 102 | + hljs.initHighlightingOnLoad(); |
| 103 | + })(); |
| 104 | + </script> |
| 105 | + </body> |
| 106 | +</html> |
0 commit comments