You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ca...@apache.org on 2009/05/12 06:45:21 UTC
svn commit: r773779 - in /logging/log4j/trunk/src: changes/changes.xml
main/java/org/apache/log4j/jdbc/JDBCAppender.java
main/java/org/apache/log4j/net/SocketAppender.java
main/java/org/apache/log4j/net/SocketHubAppender.java
Author: carnold
Date: Tue May 12 04:45:21 2009
New Revision: 773779
URL: http://svn.apache.org/viewvc?rev=773779&view=rev
Log:
Bug 46404: Failure when toString of throwable performs logging in SocketAppender, SocketHubAppender and JDBCAppender
Modified:
logging/log4j/trunk/src/changes/changes.xml
logging/log4j/trunk/src/main/java/org/apache/log4j/jdbc/JDBCAppender.java
logging/log4j/trunk/src/main/java/org/apache/log4j/net/SocketAppender.java
logging/log4j/trunk/src/main/java/org/apache/log4j/net/SocketHubAppender.java
Modified: logging/log4j/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/src/changes/changes.xml?rev=773779&r1=773778&r2=773779&view=diff
==============================================================================
--- logging/log4j/trunk/src/changes/changes.xml (original)
+++ logging/log4j/trunk/src/changes/changes.xml Tue May 12 04:45:21 2009
@@ -78,6 +78,7 @@
<action action="fix" issue="44038">log4j is susceptible to exceptions in Exception.printStackTrace.</action>
<action action="fix" issue="46741">Misuse of "it's" in Javadoc for PatternLayout.</action>
<action action="add" issue="47142">Add SMTPAppender.formatBody to simplify extension.</action>
+ <action action="fix" issue="46404">Failure when toString() of throwable performs logging in SocketAppender, SocketHubAppender and JDBCAppender.</action>
</release>
Modified: logging/log4j/trunk/src/main/java/org/apache/log4j/jdbc/JDBCAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/src/main/java/org/apache/log4j/jdbc/JDBCAppender.java?rev=773779&r1=773778&r2=773779&view=diff
==============================================================================
--- logging/log4j/trunk/src/main/java/org/apache/log4j/jdbc/JDBCAppender.java (original)
+++ logging/log4j/trunk/src/main/java/org/apache/log4j/jdbc/JDBCAppender.java Tue May 12 04:45:21 2009
@@ -128,6 +128,8 @@
* Helper object for clearing out the buffer
*/
protected ArrayList removes;
+
+ private boolean locationInfo = false;
public JDBCAppender() {
super();
@@ -136,9 +138,48 @@
}
/**
+ * Gets whether the location of the logging request call
+ * should be captured.
+ *
+ * @since 1.2.16
+ * @return the current value of the <b>LocationInfo</b> option.
+ */
+ public boolean getLocationInfo() {
+ return locationInfo;
+ }
+
+ /**
+ * The <b>LocationInfo</b> option takes a boolean value. By default, it is
+ * set to false which means there will be no effort to extract the location
+ * information related to the event. As a result, the event that will be
+ * ultimately logged will likely to contain the wrong location information
+ * (if present in the log format).
+ * <p/>
+ * <p/>
+ * Location information extraction is comparatively very slow and should be
+ * avoided unless performance is not a concern.
+ * </p>
+ * @since 1.2.16
+ * @param flag true if location information should be extracted.
+ */
+ public void setLocationInfo(final boolean flag) {
+ locationInfo = flag;
+ }
+
+
+ /**
* Adds the event to the buffer. When full the buffer is flushed.
*/
public void append(LoggingEvent event) {
+ event.getNDC();
+ event.getThreadName();
+ // Get a copy of this thread's MDC.
+ event.getMDCCopy();
+ if (locationInfo) {
+ event.getLocationInformation();
+ }
+ event.getRenderedMessage();
+ event.getThrowableStrRep();
buffer.add(event);
if (buffer.size() >= bufferSize)
Modified: logging/log4j/trunk/src/main/java/org/apache/log4j/net/SocketAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/src/main/java/org/apache/log4j/net/SocketAppender.java?rev=773779&r1=773778&r2=773779&view=diff
==============================================================================
--- logging/log4j/trunk/src/main/java/org/apache/log4j/net/SocketAppender.java (original)
+++ logging/log4j/trunk/src/main/java/org/apache/log4j/net/SocketAppender.java Tue May 12 04:45:21 2009
@@ -244,6 +244,12 @@
if (application != null) {
event.setProperty("application", application);
}
+ event.getNDC();
+ event.getThreadName();
+ event.getMDCCopy();
+ event.getRenderedMessage();
+ event.getThrowableStrRep();
+
oos.writeObject(event);
//LogLog.debug("=========Flushing.");
oos.flush();
Modified: logging/log4j/trunk/src/main/java/org/apache/log4j/net/SocketHubAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/src/main/java/org/apache/log4j/net/SocketHubAppender.java?rev=773779&r1=773778&r2=773779&view=diff
==============================================================================
--- logging/log4j/trunk/src/main/java/org/apache/log4j/net/SocketHubAppender.java (original)
+++ logging/log4j/trunk/src/main/java/org/apache/log4j/net/SocketHubAppender.java Tue May 12 04:45:21 2009
@@ -192,6 +192,12 @@
if (application != null) {
event.setProperty("application", application);
}
+ event.getNDC();
+ event.getThreadName();
+ event.getMDCCopy();
+ event.getRenderedMessage();
+ event.getThrowableStrRep();
+
if (buffer != null) {
buffer.add(event);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org