public static String log(final String message) {

        final String ticket = String.valueOf(System.currentTimeMillis());
        // using a deferred command just to be more responsible
        // since we do not expect any feed back from it
        Scheduler.get().scheduleDeferred(new ScheduledCommand() {

            /**
             * @see com.google.gwt.user.client.Command#execute()
             */
            public void execute() {

                getLoggingService().log(ticket, message, new AsyncCallback<Void>() {

                    /**
                     * @see com.google.gwt.user.client.rpc.AsyncCallback#onFailure(java.lang.Throwable)
                     */
                    public void onFailure(Throwable caught) {

                        // logging failed, really bad
                        // but the only thing we can do is to ignore it
                    }

                    /**
                     * @see com.google.gwt.user.client.rpc.AsyncCallback#onSuccess(Object)
                     */
                    public void onSuccess(Void result) {

                        // logged successfully
                    }
                });
            }
        });
        return ticket;
    }
public static String log ( final String message ) { final String ticket = String . valueOf ( System . currentTimeMillis ( ) ) ; Scheduler . get ( ) . scheduleDeferred ( new ScheduledCommand ( ) { public void execute ( ) { getLoggingService ( ) . log ( ticket , message , new AsyncCallback < Void > ( ) { public void onFailure ( Throwable caught ) { } public void onSuccess ( Void result ) { } } ) ; } } ) ; return ticket ; }
Logs client messages on the server.<p>

@param message the message to log

@return the generated ticket