# Alert boxes
+ Very easy to use, suitable for simple scripts. - No control of output. - Requires multiple clicks on alert boxes which can be annoying.
# Plugins and Browser included tools
+ Quick overview of errors. - Time required in learning, some debuggers can be very complex. - Portability issues as these tools are browser dependent. - Fail to provide the knowledge of flow of the code. - Lacks the ability to log from the code.
# Logging by appending to the DOM
+ Very helpful in development phase. - Messages by this logger can’t be persisted.
# Logging with AJAX pattern
+ Allows persistence of error messages. + Allows gathering of client-side usage statistics, this can prove to be valuable information for the websites with rich user interfaces. - Raises an issue of user privacy as this technique can easily be quoted as used for spying on users.