blob: d7349dc365eb0902d4558a3442cb9da2ff6d32a8 [file] [log] [blame]
/*
* Copyright 2014-present Facebook, Inc.
*
* Licensed 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 com.facebook.buck.log;
import java.io.OutputStreamWriter;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.logging.Level;
/**
* Package-private utility class which holds various process-wide
* logging state which needs to outlive when reloading logging
* configuration.
*/
class GlobalState {
// Utility class; do not instantiate.
private GlobalState() { }
/**
* Map of (thread ID: command ID) pairs. A given command ID can be used
* by multiple thread IDs.
*/
public static final ConcurrentMap<Long, String> THREAD_ID_TO_COMMAND_ID =
new ConcurrentHashMap<>();
/**
* Map of (command ID: console writer) pairs.
*/
public static final ConcurrentMap<String, OutputStreamWriter>
COMMAND_ID_TO_CONSOLE_WRITER = new ConcurrentHashMap<>();
/**
* Map of (command ID: level override) pairs.
*/
public static final ConcurrentMap<String, Level>
COMMAND_ID_TO_LEVEL = new ConcurrentHashMap<>();
}