Class LoggingHandler
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.LoggingHandler
- All Implemented Interfaces:
org.reactivestreams.Subscriber<Message<?>>,Aware,BeanFactoryAware,BeanNameAware,DisposableBean,InitializingBean,ApplicationContextAware,Ordered,ExpressionCapable,Orderable,IntegrationPattern,NamedComponent,IntegrationManagement,TrackableComponent,MessageHandler,reactor.core.CoreSubscriber<Message<?>>
MessageHandler implementation that simply logs the Message or its payload depending on the value of the
'shouldLogFullMessage' or SpEL 'logExpression' property.
If logging the payload, and it is assignable to Throwable, it will log the stack
trace. By default, it will log the payload only.
- Since:
- 1.0.1
- Author:
- Mark Fisher, Gary Russell, Artem Bilan, Andriy Kryvtsun
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides -
Field Summary
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionLoggingHandler(String level) Create a LoggingHandler with the given log level (case-insensitive).Create aLoggingHandlerwith the given logLoggingHandler.Level. -
Method Summary
Modifier and TypeMethodDescriptionSubclasses may implement this method to provide component type information.getLevel()protected voidhandleMessageInternal(Message<?> message) protected voidonInit()Subclasses may implement this for initialization logic.voidsetLevel(LoggingHandler.Level level) Set the loggingLoggingHandler.Levelto change the behavior at runtime.voidsetLogExpression(Expression expression) Set anExpressionto evaluate a log entry at runtime against the requestMessage.voidsetLogExpressionString(String expressionString) Set a SpEL expression string to use.voidsetLoggerName(String loggerName) voidsetShouldLogFullMessage(boolean shouldLogFullMessage) Specify whether to log the full Message.Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConventionMethods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface reactor.core.CoreSubscriber
currentContextMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAsMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Constructor Details
-
LoggingHandler
Create a LoggingHandler with the given log level (case-insensitive).The valid levels are: FATAL, ERROR, WARN, INFO, DEBUG, or TRACE
- Parameters:
level- The level.- See Also:
-
LoggingHandler
Create aLoggingHandlerwith the given logLoggingHandler.Level.- Parameters:
level- theLoggingHandler.Levelto use.- Since:
- 4.3
-
-
Method Details
-
setLogExpressionString
Set a SpEL expression string to use.- Parameters:
expressionString- the SpEL expression string to use.- Since:
- 4.3
- See Also:
-
setLogExpression
Set anExpressionto evaluate a log entry at runtime against the requestMessage.- Parameters:
expression- theExpressionto use.- Since:
- 4.3
- See Also:
-
getLevel
- Returns:
- The current logging
LoggingHandler.Level.
-
setLevel
Set the loggingLoggingHandler.Levelto change the behavior at runtime.- Parameters:
level- the level.
-
setLoggerName
-
setShouldLogFullMessage
public void setShouldLogFullMessage(boolean shouldLogFullMessage) Specify whether to log the full Message. Otherwise, only the payload will be logged. This value isfalseby default.- Parameters:
shouldLogFullMessage- true if the complete message should be logged.
-
getComponentType
Description copied from class:IntegrationObjectSupportSubclasses may implement this method to provide component type information.- Specified by:
getComponentTypein interfaceNamedComponent- Overrides:
getComponentTypein classMessageHandlerSupport
-
onInit
protected void onInit()Description copied from class:IntegrationObjectSupportSubclasses may implement this for initialization logic.- Overrides:
onInitin classIntegrationObjectSupport
-
handleMessageInternal
- Specified by:
handleMessageInternalin classAbstractMessageHandler
-