blob: f7b6fc59e7f598d2cd6e5af19973bdb68feb1e56 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache license, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the license for the specific language governing permissions and
* limitations under the license.
*/
package org.apache.logging.log4j.samples.dto;
import org.apache.logging.log4j.ThreadContext;
import org.apache.logging.log4j.core.util.UuidUtil;
/**
*
*/
public final class RequestContext {
private RequestContext() {
}
// Unique token to identify this request.
public static final String REQUEST_ID = "id";
// Token used to correlate multiple events within the request.
public static final String TRANSACTION_ID = "transId";
// The requested resource.
public static final String REQUEST_URI = "requestURI";
// Identify the user's session - should never contain the HTTP SessionId.
public static final String SESSION_ID = "sessionId";
// The id the user logged in with.
public static final String LOGIN_ID = "loginId";
// The id the system associates with the user.
public static final String USER_ID = "userId";
// user, admin, etc.
public static final String USER_TYPE = "userType";
// client id in a multi-tenant application
public static final String CLIENT_ID = "clientId";
// The user's ipAddress.
public static final String IP_ADDRESS = "ipAddress";
// The name of the product.
public static final String PRODUCT_NAME = "productName";
// The product version.
public static final String PRODUCT_VERSION = "productVersion";
// The users locale.
public static final String LOCALE = "locale";
// prod, preprod, beta, dev, etc.
public static final String REGION = "region";
// The user agent string from the browser.
public static final String USER_AGENT = "userAgent";
public static void initialize() {
ThreadContext.clearMap();
ThreadContext.put(REQUEST_ID, UuidUtil.getTimeBasedUuid().toString());
}
public static String getId() {
return ThreadContext.get(REQUEST_ID);
}
public static void setSessionId(final String id) {
ThreadContext.put(SESSION_ID, id);
}
public static String getSessionId() {
return ThreadContext.get(SESSION_ID);
}
public static void setTransId(final String id) {
ThreadContext.put(TRANSACTION_ID, id);
}
public static String getTransId() {
return ThreadContext.get(TRANSACTION_ID);
}
public static void setRequestURI(final String URI) {
ThreadContext.put(REQUEST_URI, URI);
}
public static String getRequestURI() {
return ThreadContext.get(REQUEST_URI);
}
public static void setLoginId(final String id) {
ThreadContext.put(LOGIN_ID, id);
}
public static String getLoginId() {
return ThreadContext.get(LOGIN_ID);
}
public static void setUserId(final String id) {
ThreadContext.put(USER_ID, id);
}
public static String getUserId() {
return ThreadContext.get(USER_ID);
}
public static void setUserType(final String type) {
ThreadContext.put(USER_TYPE, type);
}
public static String getUserType() {
return ThreadContext.get(USER_TYPE);
}
public static void setClientId(final String id) {
ThreadContext.put(CLIENT_ID, id);
}
public static String getClientId() {
return ThreadContext.get(CLIENT_ID);
}
public static void setIpAddress(final String addr) {
ThreadContext.put(IP_ADDRESS, addr);
}
public static String getIpAddress() {
return ThreadContext.get(IP_ADDRESS);
}
public static void setProductName(final String productName) {
ThreadContext.put(PRODUCT_NAME, productName);
}
public static String getProductName() {
return ThreadContext.get(PRODUCT_NAME);
}
public static void setProductVersion(final String productVersion) {
ThreadContext.put(PRODUCT_VERSION, productVersion);
}
public static String getProductVersion() {
return ThreadContext.get(PRODUCT_VERSION);
}
public static void setLocale(final String locale) {
ThreadContext.put(LOCALE, locale);
}
public static String getLocale() {
return ThreadContext.get(LOCALE);
}
public static void setRegion(final String region) {
ThreadContext.put(REGION, region);
}
public static String getRegion() {
return ThreadContext.get(REGION);
}
public static void setUserAgent(final String agent) {
ThreadContext.put(USER_AGENT, agent);
}
public static String getUserAgent() {
return ThreadContext.get(USER_AGENT);
}
}