public class LoggingHandler extends Handler
Logger to
Stackdriver Logging.
Java logging levels (see Level) are mapped to the following Google
Stackdriver Logging severities:
| Java Level | Stackdriver Logging Severity |
|---|---|
| SEVERE | ERROR |
| WARNING | WARNING |
| INFO | INFO |
| CONFIG | INFO |
| FINE | DEBUG |
| FINER | DEBUG |
| FINEST | DEBUG |
Original Java logging levels are added as labels (with levelName and levelValue keys, respectively) to the corresponding Stackdriver Logging LogEntry. You
can read entry labels using LogEntry.getLabels(). To use logging levels that correspond
to Stackdriver Logging severities you can use LoggingLevel.
Configuration: By default each LoggingHandler is initialized using the
following LogManager configuration properties (that you can set in the logging.properties file). If properties are not defined (or have invalid values) then the
specified default values are used.
com.google.cloud.logging.LoggingHandler.log the log name (defaults to java.log).
com.google.cloud.logging.LoggingHandler.level specifies the default level for the
handler (defaults to Level.INFO).
com.google.cloud.logging.LoggingHandler.filter specifies the name of a Filter class to use (defaults to no filter).
com.google.cloud.logging.LoggingHandler.formatter specifies the name of a Formatter class to use (defaults to SimpleFormatter).
com.google.cloud.logging.LoggingHandler.flushLevel specifies the flush log level.
When a log with this level is published, logs are transmitted to the Stackdriver Logging
service (defaults to LoggingLevel.ERROR).
com.google.cloud.logging.LoggingHandler.enhancers specifies a comma separated list
of LoggingEnhancer classes. This handler will call each enhancer list whenever it
builds a LogEntry instance (defaults to empty list).
com.google.cloud.logging.LoggingHandler.resourceType the type name to use when
creating the default MonitoredResource (defaults to auto-detected resource type,
else "global").
com.google.cloud.logging.Synchronicity the synchronicity of the write method to use
to write logs to the Stackdriver Logging service (defaults to Synchronicity.ASYNC).
To add a LoggingHandler to an existing Logger and be sure to avoid infinite
recursion when logging, use the addHandler(Logger, LoggingHandler) method. Alternatively
you can add the handler via logging.properties. For example using the following line:
com.example.mypackage.handlers=com.google.cloud.logging.LoggingHandler
| Constructor and Description |
|---|
LoggingHandler()
Creates an handler that publishes messages to Stackdriver Logging.
|
LoggingHandler(String log)
Creates a handler that publishes messages to Stackdriver Logging.
|
LoggingHandler(String log,
LoggingOptions options)
Creates a handler that publishes messages to Stackdriver Logging.
|
LoggingHandler(String log,
LoggingOptions options,
com.google.cloud.MonitoredResource monitoredResource)
Creates a handler that publishes messages to Stackdriver Logging.
|
LoggingHandler(String log,
LoggingOptions options,
com.google.cloud.MonitoredResource monitoredResource,
List<LoggingEnhancer> enhancers)
Creates a handler that publishes messages to Stackdriver Logging.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
addHandler(Logger logger,
LoggingHandler handler)
Adds the provided
LoggingHandler to logger. |
void |
close()
Closes the handler and the associated
Logging object. |
void |
flush() |
Level |
getFlushLevel()
Get the flush log level.
|
Synchronicity |
getSynchronicity()
Get the flush log level.
|
void |
publish(LogRecord record) |
void |
setFlushLevel(Level flushLevel)
Sets minimum logging level to log immediately and flush any pending writes.
|
void |
setSynchronicity(Synchronicity synchronicity)
Sets synchronicity of logging writes.
|
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, isLoggable, reportError, setEncoding, setErrorManager, setFilter, setFormatter, setLevelpublic LoggingHandler()
public LoggingHandler(String log)
log - the name of the log to which log entries are writtenpublic LoggingHandler(String log, LoggingOptions options)
log - the name of the log to which log entries are writtenoptions - options for the Stackdriver Logging servicepublic LoggingHandler(String log, LoggingOptions options, com.google.cloud.MonitoredResource monitoredResource)
log - the name of the log to which log entries are writtenoptions - options for the Stackdriver Logging servicemonitoredResource - the monitored resource to which log entries refer. If it is null then
a default resource is created based on the project ID and deployment environment.public LoggingHandler(String log, LoggingOptions options, com.google.cloud.MonitoredResource monitoredResource, List<LoggingEnhancer> enhancers)
log - the name of the log to which log entries are writtenoptions - options for the Stackdriver Logging servicemonitoredResource - the monitored resource to which log entries refer. If it is null then
a default resource is created based on the project ID and deployment environment.enhancers - List of LoggingEnhancer instances used to enhance anyLogEntry
instances built by this handler.public void close()
throws SecurityException
Logging object.close in class HandlerSecurityExceptionpublic Level getFlushLevel()
public void setFlushLevel(Level flushLevel)
flushLevel - minimum log level to trigger flushpublic void setSynchronicity(Synchronicity synchronicity)
synchronicity - Synchronicitypublic Synchronicity getSynchronicity()
public static void addHandler(Logger logger, LoggingHandler handler)
LoggingHandler to logger. Use this method to register Cloud
Logging handlers instead of Logger.addHandler(Handler) to avoid infinite recursion when
logging.Copyright © 2019 Google LLC. All rights reserved.