Package org.refcodes.logger
Class CompositeLoggerImpl<T>
- java.lang.Object
-
- org.refcodes.logger.CompositeLoggerImpl<T>
-
- Type Parameters:
T
- The type of theRecord
instances managed by theLogger
.
- All Implemented Interfaces:
java.io.Flushable
,org.refcodes.component.Closable
,org.refcodes.component.CompositeComponent
,org.refcodes.component.Decomposeable
,org.refcodes.component.Destroyable
,org.refcodes.component.Flushable
,org.refcodes.component.Initializable
,org.refcodes.component.LifeCycleComponent
,org.refcodes.component.LinkComponent
,org.refcodes.component.Openable
,org.refcodes.component.Pausable
,org.refcodes.component.Resetable
,org.refcodes.component.Resumable
,org.refcodes.component.Startable
,org.refcodes.component.Stoppable
,Logger<T>
,org.refcodes.mixin.Disposable
public class CompositeLoggerImpl<T> extends java.lang.Object implements org.refcodes.component.CompositeComponent
TheCompositeLoggerImpl
is a ready to use implementation of a compositeLogger
extending theAbstractCompositeLogger
.- See Also:
AbstractCompositeLogger
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.component.Closable
org.refcodes.component.Closable.CloseAutomaton, org.refcodes.component.Closable.CloseBuilder<B extends org.refcodes.component.Closable.CloseBuilder<B>>
-
Nested classes/interfaces inherited from interface org.refcodes.component.CompositeComponent
org.refcodes.component.CompositeComponent.ExtendedCompositeComponent<CTX extends java.lang.Object,CON extends java.lang.Object>
-
Nested classes/interfaces inherited from interface org.refcodes.component.Decomposeable
org.refcodes.component.Decomposeable.DecomposeAutomaton
-
Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable
org.refcodes.component.Destroyable.DestroyAutomaton
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.Disposable
org.refcodes.mixin.Disposable.Disposedable
-
Nested classes/interfaces inherited from interface org.refcodes.component.Flushable
org.refcodes.component.Flushable.FlushBuilder<B extends org.refcodes.component.Flushable.FlushBuilder<B>>
-
Nested classes/interfaces inherited from interface org.refcodes.component.Initializable
org.refcodes.component.Initializable.InitializeAutomaton, org.refcodes.component.Initializable.InitializeBuilder<B extends org.refcodes.component.Initializable.InitializeBuilder<B>>, org.refcodes.component.Initializable.UncheckedInitializable
-
Nested classes/interfaces inherited from interface org.refcodes.component.LifeCycleComponent
org.refcodes.component.LifeCycleComponent.LifeCycleAutomaton, org.refcodes.component.LifeCycleComponent.UncheckedLifeCycleComponent
-
Nested classes/interfaces inherited from interface org.refcodes.component.LinkComponent
org.refcodes.component.LinkComponent.LinkAutomaton, org.refcodes.component.LinkComponent.LinkComponentBuilder<B extends org.refcodes.component.LinkComponent.LinkComponentBuilder<B>>
-
Nested classes/interfaces inherited from interface org.refcodes.component.Openable
org.refcodes.component.Openable.OpenAutomaton, org.refcodes.component.Openable.OpenBuilder<B extends org.refcodes.component.Openable.OpenBuilder<B>>
-
Nested classes/interfaces inherited from interface org.refcodes.component.Pausable
org.refcodes.component.Pausable.PauseAutomaton, org.refcodes.component.Pausable.PauseBuilder<B extends org.refcodes.component.Pausable.PauseBuilder<B>>, org.refcodes.component.Pausable.UncheckedPausable
-
Nested classes/interfaces inherited from interface org.refcodes.component.Resumable
org.refcodes.component.Resumable.ResumeAutomaton, org.refcodes.component.Resumable.ResumeBuilder<B extends org.refcodes.component.Resumable.ResumeBuilder<B>>, org.refcodes.component.Resumable.UncheckedResumable
-
-
Constructor Summary
Constructors Constructor Description CompositeLoggerImpl(org.refcodes.controlflow.ExecutionStrategy aComponentExecutionStrategy, Logger<T>... aLoggers)
Similar to theCompositeLoggerImpl(Logger...)
with the additional option of determining the execution strategy of the state change request calls for the encapsulatedLogger
instances (as ofCompositeComponent
).CompositeLoggerImpl(Logger<T>... aLoggers)
Instantiates a new composite logger impl.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
decompose()
void
destroy()
void
dispose()
void
flush()
protected java.util.Collection<L>
getLoggers()
Gets the loggers.void
initialize()
void
log(org.refcodes.tabular.Record<? extends T> aRecord)
Logs aRecord
.void
open()
void
pause()
void
reset()
void
resume()
void
start()
void
stop()
-
Methods inherited from interface org.refcodes.component.Closable
closeIn, closeQuietly, closeUnchecked
-
Methods inherited from interface org.refcodes.logger.Logger
printSeparator
-
-
-
-
Constructor Detail
-
CompositeLoggerImpl
@SafeVarargs public CompositeLoggerImpl(Logger<T>... aLoggers)
Instantiates a new composite logger impl.- Parameters:
aLoggers
- the loggers- See Also:
AbstractCompositeLogger(Logger...)
-
CompositeLoggerImpl
@SafeVarargs public CompositeLoggerImpl(org.refcodes.controlflow.ExecutionStrategy aComponentExecutionStrategy, Logger<T>... aLoggers)
Similar to theCompositeLoggerImpl(Logger...)
with the additional option of determining the execution strategy of the state change request calls for the encapsulatedLogger
instances (as ofCompositeComponent
).- Parameters:
aComponentExecutionStrategy
- The strategy to be used when invoking a component's (encapsulatedLogger
instance's) state change request call (as ofCompositeComponent
).
-
-
Method Detail
-
initialize
public void initialize() throws org.refcodes.component.InitializeException
- Specified by:
initialize
in interfaceorg.refcodes.component.Initializable
- Throws:
org.refcodes.component.InitializeException
-
start
public void start() throws org.refcodes.component.StartException
- Specified by:
start
in interfaceorg.refcodes.component.Startable
- Throws:
org.refcodes.component.StartException
-
pause
public void pause() throws org.refcodes.component.PauseException
- Specified by:
pause
in interfaceorg.refcodes.component.Pausable
- Throws:
org.refcodes.component.PauseException
-
resume
public void resume() throws org.refcodes.component.ResumeException
- Specified by:
resume
in interfaceorg.refcodes.component.Resumable
- Throws:
org.refcodes.component.ResumeException
-
stop
public void stop() throws org.refcodes.component.StopException
- Specified by:
stop
in interfaceorg.refcodes.component.Stoppable
- Throws:
org.refcodes.component.StopException
-
decompose
public void decompose()
- Specified by:
decompose
in interfaceorg.refcodes.component.Decomposeable
-
flush
public void flush() throws org.refcodes.component.OpenException
- Specified by:
flush
in interfacejava.io.Flushable
- Specified by:
flush
in interfaceorg.refcodes.component.Flushable
- Throws:
org.refcodes.component.OpenException
-
destroy
public void destroy()
- Specified by:
destroy
in interfaceorg.refcodes.component.Destroyable
-
reset
public void reset()
- Specified by:
reset
in interfaceorg.refcodes.component.Resetable
-
open
public void open() throws org.refcodes.component.OpenException
- Specified by:
open
in interfaceorg.refcodes.component.Openable
- Throws:
org.refcodes.component.OpenException
-
close
public void close()
- Specified by:
close
in interfaceorg.refcodes.component.Closable
-
dispose
public void dispose()
- Specified by:
dispose
in interfaceorg.refcodes.mixin.Disposable
-
log
public void log(org.refcodes.tabular.Record<? extends T> aRecord) throws IllegalRecordRuntimeException, UnexpectedLogRuntimeException
Logs aRecord
. The targeted data sink for theRecord
instances (where them are physically stored) depends on the implementation of theLogger
. It can be a console, a file, a stream or a database.- Specified by:
log
in interfaceLogger<L extends Logger<T>>
- Parameters:
aRecord
- TheRecord
to be logged.- Throws:
IllegalRecordRuntimeException
- Thrown in case the record cannot be logged as a specific implementation might expect some dedicatedColumn
instances to be contained in the provided Record.UnexpectedLogRuntimeException
- Thrown in case some other problems regarding logging occurred, e.g. the data sink (physical system where to log to) experiences problems.
-
getLoggers
protected java.util.Collection<L> getLoggers()
Gets the loggers.- Returns:
- the loggers
-
-