All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.grpc.ChannelLogger Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2018 The gRPC Authors
 *
 * 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 io.grpc;

import javax.annotation.concurrent.ThreadSafe;

/**
 * A Channel-specific logger provided by GRPC library to {@link LoadBalancer} implementations.
 * Information logged here goes to Channelz, and to the Java logger of this class
 * as well.
 */
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/5029")
@ThreadSafe
public abstract class ChannelLogger {
  /**
   * Log levels.  See the table below for the mapping from the ChannelLogger levels to Channelz
   * severity level (see {@code ChannelTraceEvent} from channelz.proto)
   * and Java logger levels.  Note that {@code DEBUG} level is not recorded on Channelz.
   * 
   * +---------------------+-------------------+-------------------+
   * | ChannelLogger Level | Channelz Severity | Java Logger Level |
   * +---------------------+-------------------+-------------------+
   * | DEBUG               | N/A               | FINEST            |
   * | INFO                | CT_INFO           | FINER             |
   * | WARNING             | CT_WARNING        | FINE             |
   * | ERROR               | CT_ERROR          | FINE              |
   * +---------------------+-------------------+-------------------+
   * 
*/ public enum ChannelLogLevel { DEBUG, INFO, WARNING, ERROR } /** * Logs a message. */ public abstract void log(ChannelLogLevel level, String message); /** * Logs a message, using a message format and a list of arguments used to generate the log * message with {@link java.text.MessageFormat}. */ public abstract void log(ChannelLogLevel level, String messageFormat, Object... args); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy