Description
When ServerChannelHandler receives a CHANNEL_DOWN event for a client handle, the event is formatted with Severity.WARNING and guarded by isWarnEnabled(), but it is logged by calling
loggerClient().error().
Relevant source:
https://github.com/Refinitiv/Real-Time-SDK/blob/master/Java/Ema/Core/src/main/java/com/refinitiv/ema/access/ServerChannelHandler.java#L343-L363
if (_serverImpl.loggerClient().isWarnEnabled())
{
// Build the ChannelDown message...
_serverImpl.loggerClient().error(
_serverImpl.formatLogMessage(
ServerChannelHandler.CLIENT_NAME,
temp.toString(),
Severity.WARNING));
}
As a result, the log entry has an ERROR log level even though its internal severity is Warning:
ERROR [OmmIProviderImpl] loggerMsg
ClientName: ServerChannelHandler
Severity: Warning
Text: Received ChannelDown event on client handle 34
...
loggerMsgEnd
Expected behavior
Since this event is classified as Severity.WARNING and the code checks isWarnEnabled(), it should be logged using warn():
_serverImpl.loggerClient().warn(
_serverImpl.formatLogMessage(
ServerChannelHandler.CLIENT_NAME,
temp.toString(),
Severity.WARNING));
Actual behavior
The event is logged using error(), which can trigger false error alerts and make normal client disconnects appear to be application errors.
Environment
- Component: EMA Java
- Observed version: 3.10.0.2