Skip to content

Commit e8dff09

Browse files
purplecabbagetimkim
authored andcommittedJul 23, 2014
[#57] Add console.log support
·
0.25.00.12.9
1 parent 43cae5b commit e8dff09

File tree

4 files changed

+45
-5
lines changed

4 files changed

+45
-5
lines changed
 

‎lib/middleware/inject.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@ var fs = require('fs'),
1212

1313
module.exports = function() {
1414
var autoreloadScript = path.join(__dirname, '../../res/middleware/autoreload.js'),
15+
consoleScript = path.join(__dirname, '../../res/middleware/consoler.js'),
1516
homepageScript = path.join(__dirname, '../../res/middleware/homepage.js'),
1617
proxyScript = path.join(__dirname, '../../res/middleware/proxy.js'),
1718
refreshScript = path.join(__dirname, '../../res/middleware/refresh.js');
1819

1920
return inject({
2021
snippet: [
2122
fs.readFileSync(autoreloadScript),
23+
fs.readFileSync(consoleScript),
2224
fs.readFileSync(homepageScript),
2325
fs.readFileSync(proxyScript),
2426
fs.readFileSync(refreshScript)

‎lib/serve.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ module.exports = function(options) {
5757

5858
// create the server
5959
var pg = middleware(options),
60-
server = http.createServer(pg);
60+
server = http.createServer(pg),
61+
io = require('socket.io')(server);
6162

6263
// bind error
6364
server.on('error', function(e) {
@@ -106,6 +107,24 @@ module.exports = function(options) {
106107
server.emit.apply(server, args);
107108
});
108109

110+
io.on('connection', function (socket) {
111+
socket.on('console', function (type,data) {
112+
switch(type) {
113+
case 'warn' :
114+
server.emit('log', '[console.warn]'.yellow, data);
115+
break;
116+
case 'error' :
117+
server.emit('log', '[console.error]'.red, data);
118+
break;
119+
case 'log' : // intentional fallthrough
120+
default :
121+
server.emit('log', '[console.log]'.green, data);
122+
break;
123+
}
124+
125+
});
126+
});
127+
109128
// start the server
110129
return server.listen(options.port);
111130
};

‎package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,22 @@
2424
"dependencies": {
2525
"connect": "2.12.0",
2626
"connect-inject": "0.3.2",
27-
"gaze" : "0.4.3",
27+
"gaze": "0.4.3",
2828
"home-dir": "0.1.2",
2929
"node-static": "0.7.0",
3030
"request": "2.33.0",
3131
"request-progress": "0.3.1",
3232
"shelljs": "0.2.6",
3333
"tar": "0.1.19",
34-
"useragent": "2.0.8"
34+
"useragent": "2.0.8",
35+
"socket.io": "~1.0.4"
3536
},
3637
"devDependencies": {
3738
"chdir": "0.0.0",
3839
"jasmine-node": "1.8.0",
3940
"supertest": "0.13.0"
4041
},
41-
"optionalDependencies": {
42-
},
42+
"optionalDependencies": {},
4343
"contributors": [
4444
{
4545
"name": "Michael Brooks",

‎res/middleware/consoler.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<script src="/socket.io/socket.io.js"></script>
2+
<script>
3+
var socket = io('http://' + document.location.host);
4+
var previousConsole = window.console || {};
5+
window.console = {
6+
log:function(msg){
7+
previousConsole.log && previousConsole.log(msg);
8+
socket.emit('console','log', msg);
9+
},
10+
warn:function(msg){
11+
previousConsole.warn && previousConsole.warn(msg);
12+
socket.emit('console','warn', msg);
13+
},
14+
error:function(msg){
15+
previousConsole.error && previousConsole.error(msg);
16+
socket.emit('console','error', msg);
17+
}
18+
}
19+
</script>

0 commit comments

Comments
 (0)
Please sign in to comment.