Summary
Library, providing easy to use logging capabilities, which works transparently on both the client and the server, while providing compile time elimination of client logging code via deferred binding with Google Web Toolkit (GWT).
Key Features
- Client-side logging code is compiled out and introduces zero-overhead+ due to GWT compiler dead code elimination when log_level=OFF
- Serializable classes (domain objects, POJOs, etc.) can utilize the same logging code on client and server via inclusion of a single, common, gwt-log jar on both tiers
- Server side logging for mobile devices such as the iPhone
- Server side logging automatically detects Apache log4j, falling back to JDK 1.4 logging
- Seven out of the box log levels (TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF)
- Several ways to control logging, via *.gwt.xml module file, a gwt:property in your HTML, a log_level URL parameter, at run time via Log.setCurrentLogLevel(...)
- Ability to independently control compile time and runtime log levels
- Both client side and server side logging work seamlessly with Google App Engine
- Wide variety of context sensitive log destinations:
| Logger | Description |
| ConsoleLogger | Utilizes console.log() for supporting browsers and installed JavaScript libraries. |
| FirebugLogger | Utilizes Firebug console API logging: http://www.getfirebug.com/console.html |
| DivLogger | Utilizes a floating/draggable DIV for log messages. |
| GWTLogger | Utilizes GWT.log(), which will appear in the development shell in hosted mode. |
| SystemLogger | Utilizes System.err and System.out. |
| RemoteLogger | Sends copies of client log messages to the server via RPC. |
| WindowLogger | (Experimental) Logs messages to a separate window. |
+ Unless your logging parameters are determined by the GWT compiler to have side effects
Questions?
If you have questions, please post them on http://groups.google.com/group/gwt-log and I (or someone else) will try to answer them as best as possible. Using the forum means that others can benefit from any answers and feedback you get. It is always the fastest way to get an answer to a new question.
Is your project using gwt-log?
I'd like to know if you're using gwt-log on your project, and how useful (or not) this library is to you. You can send me an email at fred@allen-sauer.com.
Working examples
Play with the log demo.
Getting started with your own gwt-log project
Read the wiki here: http://code.google.com/p/gwt-log/wiki/GettingStarted
Feedback
Please let me know what you think. Suggestions are always welcome.
Projects using gwt-log
Send me an email to add your project to this list.
Be sure to also list your app in the GWT Gallery http://gwtgallery.appspot.com/.
| Project | Description |
| http://code.google.com/p/fishtagdisplay/ | Fish tag display. |
| emite | A pure gwt xmpp library. |
| OpenKM Document Management System | Open source electronic document management system |
Third Party gwt-log Tutorials
Other GWT projects by the same author
| Project | Description |
| gwt-dnd | Provides drag and drop support for your GWT applications. |
| gwt-voices | Provides sound support for your GWT applications. |
