-
Notifications
You must be signed in to change notification settings - Fork 4
Logging and Debugging
Cloudbrowser uses a combination of debug, console object and file logging.
debug is already adopted by some packages Cloudbrowser depends on. To turn on all debug logs, set the DEBUG environment variable like below before start Cloudbrowser.
# turn on all logs
export DEBUG=*
# turn off all logs
export DEBUG=
Turn on Cloudbrowser logs
export DEBUG=cloudbrowser:*
## master log only
export DEBUG=cloudbrowser:master:*
## worker log only
export DEBUG=cloudbrowser:worker:*
## virtual browser log only
export DEBUG=cloudbrowser:worker:browser:*
Turn on third party package logs
## turn on log for socket.io
export DEBUG=socket.io:*
## turn on log for express js
export DEBUG=express:*
You can turn on debug logs for multiple namespaces by using a space or comma separated string. You can also turn off a specific log off by '-'.
## turn on log for express js and cloudbrowser
export DEBUG=express:*,cloud browser:*
## all cloud browser log except virtual browser log
export DEBUG=cloudbrowser:*,-cloudbrowser:worker:browser:*
Cloud browser scripts will use default debug environment setting in bin/debug_env.sh. You can overwrite the default setting by setting your own DEBUG variable before invoking the scripts.
We usually use the command below to enable logs for debugging.
export DEBUG=cloudbrowser:*,-cloudbrowser:master:proxy,-cloudbrowser:worker:socket,-cloudbrowser:sysmon,nodermi:error:*
Socket.io also use debug in client javascript code, turn on debug log by setting localStorage.debug in the browser console and refresh. You only need to set this variable once for every domain.
// turn on debug log for all in browser
localStorage.debug='*';
// turn off debug log for all
localStorage.debug=null;
// turn on for socket.io client
localStorage.debug='socket.io-client:socket';
We use console to print important information
Write web socket messages between client and server to logs/socketlog_[browser id].log. By default, file logging is turned on on server side.
Enable file logging on server side, set disable logging flag to false in the script to start master node
# --disable-logging=false
coffee src/master/single_machine_runner.coffee examples --disable-logging=false
To turn on logging for web browser clients. In the browser console, set localStorage.cblogging variable and refresh.
//turn on
localStorage.cblogging='true';
//turn off
localStorage.cblogging='false';
To turn on logging for benchmark tool. Set --server-logging true in benchmark scripts.
# --server-logging true
coffee benchmarks/clients/client_process.coffee --browser-count 5 --client-count 20 --server-logging true --configFile benchmarks/clients/chat_benchmark.conf --app-address http://localhost:3000/chat4
==========
Use node-inspector
# start node-inspector
node-inspector
# start in debug mode and block, --debug-brk
coffee --nodejs --debug-brk src/master/single_machine_runner.coffee examples
node --debug-brk script.js
# start in debug mode, --debug
coffee --nodejs --debug src/master/single_machine_runner.coffee examples
node --debug script.js