You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by EDMONDO SENA <ed...@gmail.com> on 2022/05/10 09:18:36 UTC
Log4j2 with syslog4j
Hi all,
I am sending the logs of my subsystems to the SyslogServer
but I see that the following exception is raised in TCPSocketManager.
Could you help me understand why? I am using log4j 2.17 and syslog0.9.46.
The exception is this line 243 of the TCPSocketManager class:
206 @SuppressWarnings("sync-override") // synchronization on "this"
is done within the method207 @Override208 protected void
write(final byte[] bytes, final int offset, final int length, final
boolean immediateFlush) {209 if (socket == null) {210
if (reconnector != null && !immediateFail) {211
reconnector.latch();212 }213 if (socket == null)
{214 throw new AppenderLoggingException("Error writing
to " + getName() + ": socket not available");215 }216
}217 synchronized (this) {218 try {219
writeAndFlush(bytes, offset, length, immediateFlush);220
} catch (final IOException causeEx) {221 final String
config = inetAddress + ":" + port;222 if (retry &&
reconnector == null) {223 reconnector =
createReconnector();224 try {225
reconnector.reconnect();226 } catch (final
IOException reconnEx) {227 LOGGER.debug("Cannot
reestablish socket connection to {}: {}; starting reconnector thread
{}",228 config,
reconnEx.getLocalizedMessage(), reconnector.getName(), reconnEx);229
reconnector.start();230
throw new AppenderLoggingException(231
String.format("Error sending to %s for %s", getName(), config),
causeEx);232 }233 try {234
writeAndFlush(bytes, offset, length,
immediateFlush);235 } catch (final IOException e)
{236 throw new AppenderLoggingException(237
String.format("Error writing to %s after
reestablishing connection for %s", getName(),238
config),239
causeEx);240 }241 return;242
}243 final String message =
String.format("Error writing to %s for connection %s", getName(),
config);244 throw new AppenderLoggingException(message,
causeEx);245 }246 }247 }
Thanks in advance.
//Edmondo.
Re: Log4j2 with syslog4j
Posted by Doug Wegscheid <dw...@sbcglobal.net>.
Which exception are you seeing? That block of code could throw about 5 different exceptions.
Can you post the actual exception and traceback?
Sent from AT&T Yahoo Mail on Android
On Tue, May 10, 2022 at 5:19 AM, EDMONDO SENA<ed...@gmail.com> wrote: Hi all,
I am sending the logs of my subsystems to the SyslogServer
but I see that the following exception is raised in TCPSocketManager.
Could you help me understand why? I am using log4j 2.17 and syslog0.9.46.
The exception is this line 243 of the TCPSocketManager class:
206 @SuppressWarnings("sync-override") // synchronization on "this"
is done within the method207 @Override208 protected void
write(final byte[] bytes, final int offset, final int length, final
boolean immediateFlush) {209 if (socket == null) {210
if (reconnector != null && !immediateFail) {211
reconnector.latch();212 }213 if (socket == null)
{214 throw new AppenderLoggingException("Error writing
to " + getName() + ": socket not available");215 }216
}217 synchronized (this) {218 try {219
writeAndFlush(bytes, offset, length, immediateFlush);220
} catch (final IOException causeEx) {221 final String
config = inetAddress + ":" + port;222 if (retry &&
reconnector == null) {223 reconnector =
createReconnector();224 try {225
reconnector.reconnect();226 } catch (final
IOException reconnEx) {227 LOGGER.debug("Cannot
reestablish socket connection to {}: {}; starting reconnector thread
{}",228 config,
reconnEx.getLocalizedMessage(), reconnector.getName(), reconnEx);229
reconnector.start();230
throw new AppenderLoggingException(231
String.format("Error sending to %s for %s", getName(), config),
causeEx);232 }233 try {234
writeAndFlush(bytes, offset, length,
immediateFlush);235 } catch (final IOException e)
{236 throw new AppenderLoggingException(237
String.format("Error writing to %s after
reestablishing connection for %s", getName(),238
config),239
causeEx);240 }241 return;242
}243 final String message =
String.format("Error writing to %s for connection %s", getName(),
config);244 throw new AppenderLoggingException(message,
causeEx);245 }246 }247 }
Thanks in advance.
//Edmondo.