Package org.pipservices3.components.log
Class CachedLogger
java.lang.Object
org.pipservices3.components.log.Logger
org.pipservices3.components.log.CachedLogger
- All Implemented Interfaces:
org.pipservices3.commons.config.IConfigurable,org.pipservices3.commons.config.IReconfigurable,org.pipservices3.commons.refer.IReferenceable,ILogger
public abstract class CachedLogger
extends Logger
implements org.pipservices3.commons.config.IReconfigurable
Abstract logger that caches captured log messages in memory and periodically dumps them.
Child classes implement saving cached messages to their specified destinations.
### Configuration parameters ###
- level: maximum log level to capture
- source: source (context) name
- options:
- interval: interval in milliseconds to save log messages (default: 10 seconds)
- max_cache_size: maximum number of messages stored in this cache (default: 100)
### References ###
- *:context-info:*:*:1.0 (optional)
ContextInfoto detect the context id and specify counters source
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected List<LogMessage>protected longprotected longprotected final Objectprotected intprotected boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clears (removes) all cached log messages.voidconfigure(org.pipservices3.commons.config.ConfigParams config) Configures component by passing configuration parameters.voiddump()Dumps (writes) the currently cached log messages.protected abstract voidsave(List<LogMessage> messages) Saves log messages from the cache.protected voidupdate()Makes message cache as updated and dumps it when timeout expires.protected voidWrites a log message to the logger destination.
-
Field Details
-
_cache
-
_updated
protected boolean _updated -
_lastDumpTime
protected long _lastDumpTime -
_interval
protected long _interval -
_maxCacheSize
protected int _maxCacheSize -
_lock
-
-
Constructor Details
-
CachedLogger
public CachedLogger()
-
-
Method Details
-
write
Writes a log message to the logger destination. -
save
protected abstract void save(List<LogMessage> messages) throws org.pipservices3.commons.errors.InvocationException Saves log messages from the cache.- Parameters:
messages- a list with log messages- Throws:
org.pipservices3.commons.errors.InvocationException- when error occured.
-
configure
public void configure(org.pipservices3.commons.config.ConfigParams config) Configures component by passing configuration parameters. -
clear
public void clear()Clears (removes) all cached log messages. -
dump
public void dump()Dumps (writes) the currently cached log messages. -
update
protected void update()Makes message cache as updated and dumps it when timeout expires.- See Also:
-