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, setLevel
public 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 Handler
SecurityException
public Level getFlushLevel()
public void setFlushLevel(Level flushLevel)
flushLevel
- minimum log level to trigger flushpublic void setSynchronicity(Synchronicity synchronicity)
synchronicity
- Synchronicity
public 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.