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 ce...@apache.org on 2005/04/29 19:07:43 UTC
cvs commit: logging-log4j/docs HISTORY.txt FAQ.html HISTORY critique.html deepExtension.html praise.html
ceki 2005/04/29 10:07:43
Modified: docs Tag: v1_2-branch FAQ.html
Added: docs Tag: v1_2-branch HISTORY.txt
Removed: docs Tag: v1_2-branch HISTORY critique.html
deepExtension.html praise.html
Log:
Removing obsolete html files. Renamed HISTRORY as HISTORY.txt
PR:
Obtained from:
Submitted by:
Reviewed by:
Revision Changes Path
No revision
No revision
1.15.2.3 +42 -8 logging-log4j/docs/Attic/FAQ.html
Index: FAQ.html
===================================================================
RCS file: /home/cvs/logging-log4j/docs/Attic/FAQ.html,v
retrieving revision 1.15.2.2
retrieving revision 1.15.2.3
diff -u -r1.15.2.2 -r1.15.2.3
--- FAQ.html 3 Nov 2004 18:39:08 -0000 1.15.2.2
+++ FAQ.html 29 Apr 2005 17:07:43 -0000 1.15.2.3
@@ -506,6 +506,41 @@
statement.
</p>
+ <h3>Better alternative based on message patterns</h3>
+ <p>As of log4j version 1.3, there is a significantly more
+ convenient alternative based on message patterns. Assuming
+ <code>entry</code> is a non-primitive object, you can write:
+ </p>
+
+ <p class="source">
+ l.debug("The new entry is {}.", entry);
+ </p>
+
+ <p>After evaluting whether to log or not, and only if the
+ decision is affirmative, the logger instace will format the
+ message and replace the '{}' pair with the string value of the
+ <code>entry</code> parameter within the message pattern.
+ </p>
+
+ <p>Thus, the following two lines will yield the exact sane
+ output. However, the second form will perform at least 30
+ times faster in case the logger is disabled for DEBUG.
+ </p>
+
+ <p class="source">
+ l.debug("The new entry is "+entry+"."); <br />
+ l.debug("The new entry is {}.", entry);
+ </p>
+
+ <p>A 2 argument variant is also availalble. Thus, you can also
+ write:
+ </p>
+ <p class="source">
+ l.debug("The new entry is {}. It replaces {}.", entry, oldEntry);
+ </p>
+
+
+
<div class="question">
<a name="2.4">2.4 Are there any suggested ways for naming loggers?</a>
@@ -1012,12 +1047,12 @@
appear in the file <em>/docs/faq.html</em>.
</p>
-
+
<!-- FOOTER -->
<div align="center"><font color="#525D76" size="-1"><em>
- Copyright © 1999-2004, Apache Software Foundation
+ Copyright © 1999-2005, Apache Software Foundation
</em></font></div>
<!-- END main table -->
@@ -1032,12 +1067,6 @@
</div>
<div class="menu_item"> <a href="./documentation.html">Documentation</a>
</div>
- <div class="menu_item"> <a href="./chainsaw.html">Chainsaw</a>
- </div>
- <div class="menu_item"> <a href="./plan.html">Plan</a>
- </div>
- <div class="menu_item"> <a href="http://wiki.apache.org/logging-log4j/Log4JProjectPages">Wiki</a>
- </div>
<div class="menu_item"> <a href="./contactUs.html">Contact us</a>
</div>
<div class="menu_item"> <a href="./contributors.html">Contributors</a>
@@ -1053,6 +1082,9 @@
</div>
<div class="menu_item"> <a href="http://logging.apache.org/site/bylaws.html">Guidelines</a>
</div>
+ <div class="menu_header">Related Projects</div>
+ <div class="menu_item"> <a href="http://www.slf4j.org">SLF4J</a>
+ </div>
<div class="menu_header">Translations</div>
<div class="menu_item"> <a href="http://jakarta.apache-korea.org/log4j/index.html">Korean</a>
</div>
@@ -1083,3 +1115,5 @@
+
+
No revision
Index: FAQ.html
===================================================================
RCS file: /home/cvs/logging-log4j/docs/Attic/FAQ.html,v
retrieving revision 1.15.2.2
retrieving revision 1.15.2.3
diff -u -r1.15.2.2 -r1.15.2.3
--- FAQ.html 3 Nov 2004 18:39:08 -0000 1.15.2.2
+++ FAQ.html 29 Apr 2005 17:07:43 -0000 1.15.2.3
@@ -506,6 +506,41 @@
statement.
</p>
+ <h3>Better alternative based on message patterns</h3>
+ <p>As of log4j version 1.3, there is a significantly more
+ convenient alternative based on message patterns. Assuming
+ <code>entry</code> is a non-primitive object, you can write:
+ </p>
+
+ <p class="source">
+ l.debug("The new entry is {}.", entry);
+ </p>
+
+ <p>After evaluting whether to log or not, and only if the
+ decision is affirmative, the logger instace will format the
+ message and replace the '{}' pair with the string value of the
+ <code>entry</code> parameter within the message pattern.
+ </p>
+
+ <p>Thus, the following two lines will yield the exact sane
+ output. However, the second form will perform at least 30
+ times faster in case the logger is disabled for DEBUG.
+ </p>
+
+ <p class="source">
+ l.debug("The new entry is "+entry+"."); <br />
+ l.debug("The new entry is {}.", entry);
+ </p>
+
+ <p>A 2 argument variant is also availalble. Thus, you can also
+ write:
+ </p>
+ <p class="source">
+ l.debug("The new entry is {}. It replaces {}.", entry, oldEntry);
+ </p>
+
+
+
<div class="question">
<a name="2.4">2.4 Are there any suggested ways for naming loggers?</a>
@@ -1012,12 +1047,12 @@
appear in the file <em>/docs/faq.html</em>.
</p>
-
+
<!-- FOOTER -->
<div align="center"><font color="#525D76" size="-1"><em>
- Copyright © 1999-2004, Apache Software Foundation
+ Copyright © 1999-2005, Apache Software Foundation
</em></font></div>
<!-- END main table -->
@@ -1032,12 +1067,6 @@
</div>
<div class="menu_item"> <a href="./documentation.html">Documentation</a>
</div>
- <div class="menu_item"> <a href="./chainsaw.html">Chainsaw</a>
- </div>
- <div class="menu_item"> <a href="./plan.html">Plan</a>
- </div>
- <div class="menu_item"> <a href="http://wiki.apache.org/logging-log4j/Log4JProjectPages">Wiki</a>
- </div>
<div class="menu_item"> <a href="./contactUs.html">Contact us</a>
</div>
<div class="menu_item"> <a href="./contributors.html">Contributors</a>
@@ -1053,6 +1082,9 @@
</div>
<div class="menu_item"> <a href="http://logging.apache.org/site/bylaws.html">Guidelines</a>
</div>
+ <div class="menu_header">Related Projects</div>
+ <div class="menu_item"> <a href="http://www.slf4j.org">SLF4J</a>
+ </div>
<div class="menu_header">Translations</div>
<div class="menu_item"> <a href="http://jakarta.apache-korea.org/log4j/index.html">Korean</a>
</div>
@@ -1083,3 +1115,5 @@
+
+
No revision
Index: FAQ.html
===================================================================
RCS file: /home/cvs/logging-log4j/docs/Attic/FAQ.html,v
retrieving revision 1.15.2.2
retrieving revision 1.15.2.3
diff -u -r1.15.2.2 -r1.15.2.3
--- FAQ.html 3 Nov 2004 18:39:08 -0000 1.15.2.2
+++ FAQ.html 29 Apr 2005 17:07:43 -0000 1.15.2.3
@@ -506,6 +506,41 @@
statement.
</p>
+ <h3>Better alternative based on message patterns</h3>
+ <p>As of log4j version 1.3, there is a significantly more
+ convenient alternative based on message patterns. Assuming
+ <code>entry</code> is a non-primitive object, you can write:
+ </p>
+
+ <p class="source">
+ l.debug("The new entry is {}.", entry);
+ </p>
+
+ <p>After evaluting whether to log or not, and only if the
+ decision is affirmative, the logger instace will format the
+ message and replace the '{}' pair with the string value of the
+ <code>entry</code> parameter within the message pattern.
+ </p>
+
+ <p>Thus, the following two lines will yield the exact sane
+ output. However, the second form will perform at least 30
+ times faster in case the logger is disabled for DEBUG.
+ </p>
+
+ <p class="source">
+ l.debug("The new entry is "+entry+"."); <br />
+ l.debug("The new entry is {}.", entry);
+ </p>
+
+ <p>A 2 argument variant is also availalble. Thus, you can also
+ write:
+ </p>
+ <p class="source">
+ l.debug("The new entry is {}. It replaces {}.", entry, oldEntry);
+ </p>
+
+
+
<div class="question">
<a name="2.4">2.4 Are there any suggested ways for naming loggers?</a>
@@ -1012,12 +1047,12 @@
appear in the file <em>/docs/faq.html</em>.
</p>
-
+
<!-- FOOTER -->
<div align="center"><font color="#525D76" size="-1"><em>
- Copyright © 1999-2004, Apache Software Foundation
+ Copyright © 1999-2005, Apache Software Foundation
</em></font></div>
<!-- END main table -->
@@ -1032,12 +1067,6 @@
</div>
<div class="menu_item"> <a href="./documentation.html">Documentation</a>
</div>
- <div class="menu_item"> <a href="./chainsaw.html">Chainsaw</a>
- </div>
- <div class="menu_item"> <a href="./plan.html">Plan</a>
- </div>
- <div class="menu_item"> <a href="http://wiki.apache.org/logging-log4j/Log4JProjectPages">Wiki</a>
- </div>
<div class="menu_item"> <a href="./contactUs.html">Contact us</a>
</div>
<div class="menu_item"> <a href="./contributors.html">Contributors</a>
@@ -1053,6 +1082,9 @@
</div>
<div class="menu_item"> <a href="http://logging.apache.org/site/bylaws.html">Guidelines</a>
</div>
+ <div class="menu_header">Related Projects</div>
+ <div class="menu_item"> <a href="http://www.slf4j.org">SLF4J</a>
+ </div>
<div class="menu_header">Translations</div>
<div class="menu_item"> <a href="http://jakarta.apache-korea.org/log4j/index.html">Korean</a>
</div>
@@ -1083,3 +1115,5 @@
+
+
1.27.2.1 +13 -192 logging-log4j/docs/HISTORY.txt
Index: HISTORY.txt
===================================================================
RCS file: /home/cvs/logging-log4j/docs/HISTORY.txt,v
retrieving revision 1.27
retrieving revision 1.27.2.1
diff -u -r1.27 -r1.27.2.1
--- HISTORY.txt 24 Feb 2005 16:32:03 -0000 1.27
+++ HISTORY.txt 29 Apr 2005 17:07:43 -0000 1.27.2.1
@@ -4,206 +4,27 @@
[**] Changes that requiring little or no modification to existing
client code.
[***] Changes requiring important modifications to existing client code.
-
- [D] Changes affect a method or property which was previously marked as
- deprecated.
-
- ??, 2005
- - Release of version 1.3alpha-7
-
- - Chatty output about Logger creation or retrieval events is now
- suppressed by default. They can be enabled by explicitly setting the
- log4j.coreDebug system property. [*]
-
- - The log4j.debug system property no longer has any affect as all
- log4j output is done through regular Logger objects. However, in
- configuration file in properties format, the log4j.debug property will
- cause PropertyConfigurator to *temporarily* output logs generated
- during the configuration process. This is very similar to the way the
- debug attribute works in configuration files in XML format. [*]
-
-
- January 20th, 2005
- - Release of version 1.3alpha-6
-
- - Fixed involuntary omission of DOMConfigrator (deprecated) in log4j-VERSION.jar.
- - Added missing files in log4-oro.jar.
- - The lengthy system property "log4j.repositorySelectorClass" was renamed as
- "log4j.repositorySelector".
-
- January 19th, 2005
- - Release of version 1.3alpha-5
-
- - Universal and Generic Logging Interface (UGLI) is now part of log4j.
- UGLI allows variation in the logging API implementattion in a simple and
- robust way. Log4j directly supports the interfaces defined by UGLI.
- For more information see http://logging.apache.org/log4j/docs/ugli.html [*]
-
- - Log4j now ships with several jar files, one jar file per dependency. [*/**]
-
- - Fixed Bugzilla 15198: TelnetAppender: NullPointerException if
- SocketHandler not initialized. [*]
-
- - Fixed Bugzilla 12112: CountingQuietWriter miscounts bytes. [*]
-
- - Fixed Bugzilla 18076: setting of firstTime in OnlyOnceErrorHandler. [*]
-
- - Added pattern conversion support for the Subject line for emails
- generated by SMTPAppender. The set of patterns is the same as those
- supported by PatternLayout. [*]
-
- - Implemented Bugzilla 20985: charset support for SMTPAppender [**]
-
- - Implemented Bugzilla 20500: separate registry clearing from doConfigure in PropertyConfigurator
- to allow to easier extension. [*]
-
- - Fixed Bugzilla 23912: unsafe access to BoundedFIFO in AsyncAppender. [*]
-
- - Changed converter register accessors in PatternParser to take/return Map instead
- of HashMap, a cleaner abstraction allowing for different implementation types. [*]
-
- - Fixed Bugzilla 26658: modify build.xml chainsaw target with respect to crimson.jar [*]
-
- - Fixed Bugzilla 28682: NullPointerException in SocketHubAppender#cleanup. [*]
-
- - Fixed Bugzilla 28464: White space significant at end of line for PropertyConfigurator. [*]
-
- - Fixed Bugzilla 26117: Output encoding for TelnetAppender. [*]
-
- November 25, 2004
-
- - Release of version 1.3alpha-3
-
- - Classes are built with the javac debug setting on.
- - Fixed unset activeFile bug in SlidingWindowRollingPolicy.
-
- November 25, 2004
-
- - Release of version 1.3alpha-2
-
- - The deprecated DOMConfigrator was mistakenly left as the default
- configrator for XML files. This has been fixed and JoranConfigrator
- now is the default configrator for XML files.
-
- November 24th, 2004
- - Release of version 1.3alpha-1
- - Log4j now uses itself for its own logging. For more details refer to
-
- http://www.qos.ch//logging/internalLogging.jsp
-
- - The Appender.requiresLayout() method is no longer needed.
+ April 28th, 2005
- This method was only used by PropertConfigrurator and not
- DOMConfigurator nor JoranConfigurator. It was never strictly necessary
- and case the layout is *optional* for a given appender type, it causes
- unwarranted error messages.
+ - Release of version 1.2.10
- This simplification will make it slightly easier to write appenders.
-
- - Added new printing methods message supporiting pattern parsing. These new forms
- avoid superflous parameter construction and yield a significant performance
- increase in the case of disavled log statements. [*]
-
- - Added new ListAppender & ListModelAppender classes to the org.apache.log4j.varia package.
- These are rather simplistic Appender implementations that store LoggingEvents in
- an internal buffer (java.util.List and a DefaultListModel respectively) which can
- be useful in certain applications (such as a Swing GUI app etc). [*]
+ - Added support for the SLF4J project. The Logger class now
+ implements the ULogger interface defined by the SLF4J. See
- - org.apache.log4j.HTMLLayout has been replaced with org.apache.log4j.html.HTMLLayout.
- The new HTMLLayout admits a conversion pattern using the same syntax as
- PatternLayout. Thus, the user can customize the content of columns in the HTML table
- produced by HTMLLayout. Just as importantly, many visual aspects of the table can be
- customized at row or even cell level with the help of a CSS file.
+ http://www.slf4j.org
- The new HTMLLayout has been contributed by Steve Mactaggart.
-
- - Log4j now ships with JoranConfigurator, a powerful replacement for
- DOMConfigurator. Joran bring a plethora of new capabilities. In
- particular, it can be taught new parsing rules on the fly, even from
- within the config file being processed. Moreover, with the help of
- implicit actions, it can configure specialized sub-components of log4j
- components.
+ for more detailed information.
- Many of the new components in version 1.3 can be configured thanks
- to the new capabilitues found in JoranConfigurator.
-
- - Fixed bug #15585 relative to location information extraction on the AS400. The fix
- was contributed by Patrice Kolata. [*]
+ - Fixed bug #34491 whereby the class o.a.log4j.or.jms.MessageRenderer
+ would not be compiled in the build.jms target. Bug reported by Andy
+ McBride.
- - Log4j will now automatically include stack traces for nested
- exceptions. Log4j extends the automatic nested exception printing
- available in JDK 1.4 to nested exceptions accessible through methods
- named "getRootCause", "getNextException" and "getException", not just
- "getCause" as in JDK 1.4. [*]
-
- - The location information extraction code has been refactored to use
- a faster mechanism when running on JDK 1.4 or later. The new mechanism, contributed
- by Martin Schulz, is at least twice as fast.
-
- See http://marc.theaimsgroup.com/?t=108473346700001&r=1&w=2 for more details. [*]
-
- - Made ignoresThrowable a settable property. The user can now force a layout
- to ignore the throwable in the event even if the layout knows how to handle
- exceptions. Conversely, an appender can be fooled to believe that a layout
- handled the exception in the logging event by setting a layout's ignoresThrowable
- property to false. [*]
-
- - The org.apache.log4j.db package replaces the old org.apache.log4j.jdbc
- package. The new package supports most relational database systems
- such as PostgreSQL, MySQL, Oracle, DB2 or MsSQL. It can also handle
- retrieve connections using a JDBC driver class, a data source class or
- JNDI. [*]
-
- - A sequenceNumber field has been added to LoggingEvent. This fields is useful when
- checking for the equality of two logging events or when ordering them. [*]
-
- - Log4j now has its own Scheduler. It allows jobs to be executed at a certain date
- or even periodically. It only requires just one extra thread. [*]
-
- - Added the "isPristine" flag to LoggerRepository. As soon as a configurator
- starts configuring a repository this flag is set to false.
-
- - Removed support for the deprecated property "log4j.configDebug". [**/D]
+ http://issues.apache.org/bugzilla/show_bug.cgi?id=34491
- - The new ContextJNDISelector allows for the possibility of managing
- multiple logger hiearchies within the same application server while
- only a single copy of log4j.jar is present in memory.
-
- - Added keys() method to the MDC class as requested by Don Isenor.
-
- - Certain operations on Loggers are now made using ReaderWriterLocks which
- allows simultaneous read operations but only one write operation. This should
- significantly improve logging throughput in heavily loaded server environments.
-
- - Rolling can now be triggered based on time or size as was already the case in
- log4j 1.2. However, the new architecture allows for much more variation in the
- timing of the rollover and the actions taken during rollover (i.e on the fly
- compression, renaming, moving). The new architecture was suggested a long time
- ago by James P. Cakalic. A similar design can be found in the Avalon Logkit
- package.
-
- In order to avoid duplication, the old org.apache.log4j.RollingAppender
- and org.apache.log4j.RollingAppender classes have been removed. [**]
-
- - LoggingEvent was extended to allow properties. Properties are meant to be set
- by Layout and Appender classes as they output/process logging events.
- Properties are per logging event where MDC values are per thread.
-
- - Another LoggingEvent constructor was added to allow instances to be reconstituted
- when received from remote sources that do not use LoggingEvent as the transport
- type (like XML for example).
-
- - Fixed bug #23096. NullAppender getInstance method is now declared as a static.
+ November 1st, 2004
- - Fixed bug #10706. The %X pattern without a key no longer causes a NullPointer
- exception,
-
- - ADD: LIST OF CHAINSAW IMPROVEMENTS.
-
- November 2nd, 2004
-
- Release of version 1.2.9
Log4j version 1.2.9, is identical to version 1.2.8, except that
@@ -218,7 +39,7 @@
preparing for log4j 1.3 at:
http://www.qos.ch/logging/preparingFor13.jsp
-
+
February 19th, 2003
- Release of version 1.2.8
@@ -230,7 +51,7 @@
- Fixed bug #12366 whereby various versions of Xerces would not parse
log4j configuration scripts expressed in XML format. [*]
-
+
- Fixed bug #14827. The "removes" buffer used in the flushBuffer() method
of JDBCAppender is now cleared, solving the memory leak. Thanks to John
Landers for reporting the bug and suggesting the fix. [*]
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org