/******************************************************************************* * Copyright (c) 2012-2015 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.api.analytics.client.logger; import java.util.Map; /** * @author Anatoliy Bazko */ public interface AnalyticsEventLogger { int MAX_PARAMS_NUMBER = 3; int MAX_PARAM_NAME_LENGTH = 20; int MAX_PARAM_VALUE_LENGTH = 100; /** * Logs a client-side IDE event. Also the current user, workspace and project's information will be logged. * * @param action * any class to log information from * @param actionName * the action name, the name is limited by {@link #MAX_PARAM_VALUE_LENGTH} characters * @param additionalParams * any additional parameters to log, not more than {@link #MAX_PARAMS_NUMBER}, every parameter name and its * value are limited by {@link #MAX_PARAM_NAME_LENGTH} and {@link #MAX_PARAM_VALUE_LENGTH} characters * correspondingly */ void log(Object action, String actionName, Map<String, String> additionalParams); /** * Logs a client-side IDE event. * * @see #log(Object, String, java.util.Map) */ void log(Object action, String actionName); /** * Logs a client-side IDE event. * * @see #log(Object, String, java.util.Map) */ void log(Object action); /** * Logs a client-side IDE event without. Method is deprecated and isn't used anymore. * Please uses {@link #log(Object, String, java.util.Map)} */ @Deprecated void log(Class<?> actionClass, String actionName, Map<String, String> additionalParams); /** * Logs a client-side IDE event without. Method is deprecated and isn't used anymore. * Please uses {@link #log(Object, String)} */ @Deprecated void log(Class<?> actionClass, String actionName); /** * Logs a client-side IDE event without. Method is deprecated and isn't used anymore. * Please uses {@link #log(Object)}} */ @Deprecated void log(String action); }