<commit_before><!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.

-->
<document>
  <properties>
    <title>Apache log4j 1.2</title>
  </properties>
  <body>
  
    <release version="1.2.15" date="2007-05-15" description="SyslogAppender enhancements, NTEventLogAppender and Maven build.">
	   <action action="fix" issue="37930">Migrate to Maven based build and documentation.</action>
	   <action action="fix" issue="40604">Prepare Maven release bundles.</action>
	   <action action="fix" issue="42283">Eclipse compiler warning cleanup.</action>
	   <action action="fix" issue="42281">JRockit VM and java-gcj fail unit tests.</action>
	   <action action="fix" issue="21796">SocketAppender does not use FallbackErrorHandler</action>
	   <action action="add" issue="42257">Enhance DOMConfigurator to delegate unrecognized elements to configured object.</action>
	   <action action="add" issue="42108">Add LoggingEvent accessors.</action>
	   <action action="fix" issue="42017">InstanceAlreadyExistsException using MBean.</action>
	   <action action="fix" issue="29227">Reduce first connection failure severity in SocketAppender</action>
	   <action action="fix" issue="42087">SyslogAppender does not limit packets to 1024 bytes.</action>
       <action action="fix" issue="41040">SyslogAppender: Added "header" property which if set to true will cause the appender
        to produce the HEADER part (timestamp and hostname) of the syslog packet.
        Default value is false for compatibility with previous behavior.</action>
       <action action="fix" issue="40161">SyslogAppender also now sends any header from the associated
        layout when activateOptions is called or first logging event is sent and
        any footer when the appender is closed.</action>
    <action action="fix" issue="37282">SyslogAppender leaks descriptors</action>
    <action action="fix" issue="40502">SyslogAppender assumes all lines start with tab</action>
	   <action action="fix" issue="42087">SyslogAppender does not limit packet size to 1024 bytes</action>

       <action action="fix" issue="41169">NTEventLogAppender: Updated NTEventLogAppender.dll which corrects missing event messages
        and which should work with earlier releases of log4j.
		NTEventLogAppender.dll also now supports registration and unregistration
		using regsvr32.  If replacing an existing copy of NTEventLogAppender,
		use "regsvr32 NTDllEventLogAppender.dll" or manually remove the
		HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/Log4J
		registry key.</action>
	  <action action="fix" issue="39437">NTEventLogAppender.dll performs unnecessary code page conversion using code copied from book.</action>
 <action action="fix" issue="40944">PropertyConfigurator.configure(URL) does not close resource stream.</action>
 <action action="fix" issue="40937">In Turkish locale level "info" is not equivalent to "INFO"</action>
 <action action="fix" issue="41339">Javadoc of PatternLayout should use %n in TTCC layout examples</action>
 <action action="fix" issue="41219">Stacktraces of exceptions disappear occassionally</action>
 <action action="fix" issue="38680">Incorrect message when specified custom level class does not implement toLevel</action>
 <action action="fix" issue="41487">Warning when configuring inner-class logger</action>
 <action action="fix" issue="41186">AsyncAppender in 1.2.14 DiscardSummary events create NullPointerExceptions in layouts</action>
 <action action="fix" issue="37864">Add target to generate binary and source compatibility report</action>
 <action action="fix" issue="41708">PropertyPrinter.printOptions breaking signature change in log4j 1.2.9</action>
 <action action="fix" issue="41735">RollingFileAppender may delete files during rollover</action>
 <action action="fix" issue="33708">XMLConfiguration of loggerFactory does not work</action>
 <action action="fix" issue="42087">SyslogAppender does not limit packet size to 1024 bytes</action>
 <action action="fix" issue="40755">Update source per new ASF Header Policy.</action>
 <action action="fix" issue="41373">DateLayoutTest fails if default Locale is not en_US.</action>
 <action action="fix" issue="35324">Stacktrace may choke on null fields.</action>
 <action action="add" issue="41575">Add projects.apache.org project descriptor.</action>
</release>

      <release version="1.2.14" date="2006-09-18" description="AsyncAppender rewrite, Syslog and SMTPAppender enhancements.">
      <action action="fix" issue="38137">Monitor deadlock in AsyncAppender.</action>
      <action action="fix" issue="28006">AsyncAppender: Dispatcher should run at normal prio.</action>
      <action action="fix" issue="40159">AsyncAppender wait forever when buffer is full.</action>
      <action action="add" issue="38982">Add non-blocking option for AsyncAppender.</action>
      <action action="add" issue="39687">Add SyslogPort option to SyslogAppender.</action>
      <action action="add" issue="19125">Add cc and bcc addresses to SMTPAppender.</action>
      <action action="add" issue="24969">Add password authentication to SMTPAppender.</action>
      <action action="fix" issue="40159"> NullPointerException in org.apache.log4j.NDC.get.</action>
       <action action="fix" issue="36787"> org.apache.log4j.lf5.util.DateFormatManager.setTimeZone assignment error.</action>
       <action action="fix" issue="38559"> Monthly logs not generated at midnight with DailyRollingFileAppender.</action>
       <action action="fix" issue="40145"> PatternLayout specifier %r is not consistent with documentation.</action>
       <action action="fix" issue="37119"> Space after log level causes default level to be used.</action>
       <action action="fix" issue="39135"> Bad patterns in ISO8601DateFormat and DateTimeDateFormat.</action>
       <action action="fix" issue="35743"> SyslogAppender throws NullPointerException upon misconfiguration.</action>
       <action action="fix" issue="15501"> FallbackErrorHandler throws NullPointerException if no loggers are set.</action>
       <action action="fix" issue="38564"> Bad documentation for WriterAppender.encoding.</action>
       <action action="fix" issue="37866"> NTEventLogAppender not build, tested and placed in distribution.</action>
       <action action="fix" issue="38662"> SMTPAppender does not output newlines between stack trace lines.</action>
       <action action="fix" issue="30294"> SMTPAppender will not run within sandbox.</action>
       <action action="fix" issue="16922"> MDC with SMTPAppender doesn't work.</action>
       <action action="fix" issue="31507"> Misspelling in HierarchyDynamicMBean.</action>
       <action action="fix" issue="35123"> Additivity not exported by PropertyPrinter.</action>
       <action action="fix" issue="31003"> RollingFileAppender, if removed, can cause NullPointerExceptions.</action>
       <action action="fix" issue="23021"> AsyncAppender blocks on thread death.</action>
	   <action action="fix" issue="40412"> NOTICE file added to distribution and jars.</action>
	   <action action="fix" issue="40378"> Chainsaw of log4j 1.2 does not show TRACE level.</action>
	   <action action="fix" issue="40501"> TRACE level missing in short introduction to log4j.</action>
	   <action action="fix" issue="37960"> Update site generation to velocity 1.4 and remove dependency on logging/site project.</action>
    </release>

    <release version="1.2.13" date="2005-12-04" description="TRACE level missing info fixed, ConsoleAppender.follow added to make redirection following an optional behavior.">
        <action action="fix" issue="36800">Location info missing for TRACE level messages.</action>
        <action action="fix" issue="37122">Console appender now behaves as before to fix
   compatibility problem with JBoss introduced in 1.2.12 release due to fix
   for bug 31056.  Can still be configured to detect changes in the System.out
   and System.err streams as needed by setting the follow property.</action>
      </release>

      <release version="1.2.12" date="2005-08-29" description="TRACE level introduced, ConsoleAppender modified to follow redirection of System.out">
          <action action="fix" issue="36262">Removed final qualifiers on member variables
            in org.apache.log4j.chainsaw.LoggingReceiver which would cause
            spurious compiler errors with JDK 1.1 and 1.2 javac compilers.</action>

          <action action="fix" issue="36267">Added a jndi.jar property to the build.xml.</action>

          <action action="fix" issue="37268">Added "release" target to build.xml.</action>

          <action action="fix" issue="36213">Removed references to obsolete documentation.</action>

          <action action="fix" issue="35965">Added protected accessors for member variables
            topicConnection, topicSession, and topicPublisher.</action>

          <action action="fix" issue="34026">SyslogAppender now checks Layout.ignoresThrowable() just
            like every other appender.</action>

          <action action="fix" issue="35947">DOMConfigurator would call LogLog.error to report
            XML validation errors that caused no problems in the interpretation of the
            configuration file.</action>

          <action action="fix" issue="14551">Fixed the JavaDoc links
            for the XML sample files.</action>

          <action action="fix" issue="35654">Added getNext/setNext methods to org.apache.log4j.spi.Filter and deprecated
            public "next" field. This mirrors the same change in the upcoming 1.3
            version and, hence, provides a migration path.</action>

          <action action="fix" issue="35711">Added o.a.log4j.Logger.trace(), o.a.log4j.Logger.isTraceEnabled() and
            o.a.log4j.Level.TRACE</action>

          <action action="fix" issue="34758">Implemented serialization for Level.</action>

          <action action="fix" issue="31056">o.a.log4j.ConsoleAppender would ignore redirections
            of System.out and System.err that occurred after configuration.</action>

          <action action="fix" issue="23705">o.a.log4j.xml.DOMConfigurator would not properly
            interpret relative path names in external entity declarations.</action>

          <action action="fix" issue="35691">o.a.log4j.xml.XmlLayout would not properly escape
            class names that contained '&lt;' or '&gt;'.</action>

          <action action="fix" issue="35052">Use of String.intern() in o.a.log4j.CategoryKey
            would cause application to slow down.</action>

          <action action="fix" issue="9150">o.a.log4j.FileAppender would not create log file
            if parent directory did not exist.</action>

          <action action="fix" issue="23021">o.a.log4j.AsyncAppender would deadlock if a
            unchecked exception occurred in the attached appender causing the
            dispatch thread to die.</action>

          <action action="fix" issue="35516">Added jdiff target to build.xml.</action>

          <action action="fix" issue="35831">log4j would not build with a JDK 1.5 javac.</action>

          <action action="fix" issue="35893">Added log4j 1.1 compatibility method
            to o.a.l.helpers.Loader.</action>

          <action action="fix" issue="34981">Additional null terminating character in Windows
            nteventlog.cpp code.</action>

          <action action="fix" issue="36332">Broken links to J2SE classes in javadocs.</action>

      </release>

      <release version="1.2.11" date="2005-06-18" description="JMS MessageRenderer fix">
          <action action="fix" issue="34491">o.a.log4j.or.jms.MessageRenderer
            would not be compiled in the build.jms target.</action>
      </release>

      <release version="1.2.10" date="2005-04-28" description="Version 1.2.10 was not released following the accepted rules and process of
   the log4j project and Logging Services Project and was recalled and removed.
   Please do not use version 1.2.10, it is not an official log4j release."/>

       <release version="1.2.9" date="2004-11-01" description="Deprecation of obsolete methods">
            <action>  Log4j version 1.2.9, is identical to version 1.2.8, except that
  several key methods have been deprecated in preparation for version
  1.3.0, the next major release of log4j. These changes are intended to
  enforce the rule that client code should never refer to the Category
  class directly, but use the Logger class instead. Similarly, client
  code should not refer to the Priority class but to the Level class
  instead.

  For a more detailed discussion, refer to the document entitled
  preparing for log4j 1.3 at:<commit_msg>Bug 37939: Add action to log4j 1.2.10 to explain status already explained in summary located at top of document<commit_after><!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.

-->
<document>
  <properties>
    <title>Apache log4j 1.2</title>
  </properties>
  <body>
  
    <release version="1.2.15" date="2007-05-15" description="SyslogAppender enhancements, NTEventLogAppender and Maven build.">
	   <action action="fix" issue="37930">Migrate to Maven based build and documentation.</action>
	   <action action="fix" issue="40604">Prepare Maven release bundles.</action>
	   <action action="fix" issue="42283">Eclipse compiler warning cleanup.</action>
	   <action action="fix" issue="42281">JRockit VM and java-gcj fail unit tests.</action>
	   <action action="fix" issue="21796">SocketAppender does not use FallbackErrorHandler</action>
	   <action action="add" issue="42257">Enhance DOMConfigurator to delegate unrecognized elements to configured object.</action>
	   <action action="add" issue="42108">Add LoggingEvent accessors.</action>
	   <action action="fix" issue="42017">InstanceAlreadyExistsException using MBean.</action>
	   <action action="fix" issue="29227">Reduce first connection failure severity in SocketAppender</action>
	   <action action="fix" issue="42087">SyslogAppender does not limit packets to 1024 bytes.</action>
       <action action="fix" issue="41040">SyslogAppender: Added "header" property which if set to true will cause the appender
        to produce the HEADER part (timestamp and hostname) of the syslog packet.
        Default value is false for compatibility with previous behavior.</action>
       <action action="fix" issue="40161">SyslogAppender also now sends any header from the associated
        layout when activateOptions is called or first logging event is sent and
        any footer when the appender is closed.</action>
    <action action="fix" issue="37282">SyslogAppender leaks descriptors</action>
    <action action="fix" issue="40502">SyslogAppender assumes all lines start with tab</action>
	   <action action="fix" issue="42087">SyslogAppender does not limit packet size to 1024 bytes</action>

       <action action="fix" issue="41169">NTEventLogAppender: Updated NTEventLogAppender.dll which corrects missing event messages
        and which should work with earlier releases of log4j.
		NTEventLogAppender.dll also now supports registration and unregistration
		using regsvr32.  If replacing an existing copy of NTEventLogAppender,
		use "regsvr32 NTDllEventLogAppender.dll" or manually remove the
		HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/Log4J
		registry key.</action>
	  <action action="fix" issue="39437">NTEventLogAppender.dll performs unnecessary code page conversion using code copied from book.</action>
 <action action="fix" issue="40944">PropertyConfigurator.configure(URL) does not close resource stream.</action>
 <action action="fix" issue="40937">In Turkish locale level "info" is not equivalent to "INFO"</action>
 <action action="fix" issue="41339">Javadoc of PatternLayout should use %n in TTCC layout examples</action>
 <action action="fix" issue="41219">Stacktraces of exceptions disappear occassionally</action>
 <action action="fix" issue="38680">Incorrect message when specified custom level class does not implement toLevel</action>
 <action action="fix" issue="41487">Warning when configuring inner-class logger</action>
 <action action="fix" issue="41186">AsyncAppender in 1.2.14 DiscardSummary events create NullPointerExceptions in layouts</action>
 <action action="fix" issue="37864">Add target to generate binary and source compatibility report</action>
 <action action="fix" issue="41708">PropertyPrinter.printOptions breaking signature change in log4j 1.2.9</action>
 <action action="fix" issue="41735">RollingFileAppender may delete files during rollover</action>
 <action action="fix" issue="33708">XMLConfiguration of loggerFactory does not work</action>
 <action action="fix" issue="42087">SyslogAppender does not limit packet size to 1024 bytes</action>
 <action action="fix" issue="40755">Update source per new ASF Header Policy.</action>
 <action action="fix" issue="41373">DateLayoutTest fails if default Locale is not en_US.</action>
 <action action="fix" issue="35324">Stacktrace may choke on null fields.</action>
 <action action="add" issue="41575">Add projects.apache.org project descriptor.</action>
</release>

      <release version="1.2.14" date="2006-09-18" description="AsyncAppender rewrite, Syslog and SMTPAppender enhancements.">
      <action action="fix" issue="38137">Monitor deadlock in AsyncAppender.</action>
      <action action="fix" issue="28006">AsyncAppender: Dispatcher should run at normal prio.</action>
      <action action="fix" issue="40159">AsyncAppender wait forever when buffer is full.</action>
      <action action="add" issue="38982">Add non-blocking option for AsyncAppender.</action>
      <action action="add" issue="39687">Add SyslogPort option to SyslogAppender.</action>
      <action action="add" issue="19125">Add cc and bcc addresses to SMTPAppender.</action>
      <action action="add" issue="24969">Add password authentication to SMTPAppender.</action>
      <action action="fix" issue="40159"> NullPointerException in org.apache.log4j.NDC.get.</action>
       <action action="fix" issue="36787"> org.apache.log4j.lf5.util.DateFormatManager.setTimeZone assignment error.</action>
       <action action="fix" issue="38559"> Monthly logs not generated at midnight with DailyRollingFileAppender.</action>
       <action action="fix" issue="40145"> PatternLayout specifier %r is not consistent with documentation.</action>
       <action action="fix" issue="37119"> Space after log level causes default level to be used.</action>
       <action action="fix" issue="39135"> Bad patterns in ISO8601DateFormat and DateTimeDateFormat.</action>
       <action action="fix" issue="35743"> SyslogAppender throws NullPointerException upon misconfiguration.</action>
       <action action="fix" issue="15501"> FallbackErrorHandler throws NullPointerException if no loggers are set.</action>
       <action action="fix" issue="38564"> Bad documentation for WriterAppender.encoding.</action>
       <action action="fix" issue="37866"> NTEventLogAppender not build, tested and placed in distribution.</action>
       <action action="fix" issue="38662"> SMTPAppender does not output newlines between stack trace lines.</action>
       <action action="fix" issue="30294"> SMTPAppender will not run within sandbox.</action>
       <action action="fix" issue="16922"> MDC with SMTPAppender doesn't work.</action>
       <action action="fix" issue="31507"> Misspelling in HierarchyDynamicMBean.</action>
       <action action="fix" issue="35123"> Additivity not exported by PropertyPrinter.</action>
       <action action="fix" issue="31003"> RollingFileAppender, if removed, can cause NullPointerExceptions.</action>
       <action action="fix" issue="23021"> AsyncAppender blocks on thread death.</action>
	   <action action="fix" issue="40412"> NOTICE file added to distribution and jars.</action>
	   <action action="fix" issue="40378"> Chainsaw of log4j 1.2 does not show TRACE level.</action>
	   <action action="fix" issue="40501"> TRACE level missing in short introduction to log4j.</action>
	   <action action="fix" issue="37960"> Update site generation to velocity 1.4 and remove dependency on logging/site project.</action>
    </release>

    <release version="1.2.13" date="2005-12-04" description="TRACE level missing info fixed, ConsoleAppender.follow added to make redirection following an optional behavior.">
        <action action="fix" issue="36800">Location info missing for TRACE level messages.</action>
        <action action="fix" issue="37122">Console appender now behaves as before to fix
   compatibility problem with JBoss introduced in 1.2.12 release due to fix
   for bug 31056.  Can still be configured to detect changes in the System.out
   and System.err streams as needed by setting the follow property.</action>
      </release>

      <release version="1.2.12" date="2005-08-29" description="TRACE level introduced, ConsoleAppender modified to follow redirection of System.out">
          <action action="fix" issue="36262">Removed final qualifiers on member variables
            in org.apache.log4j.chainsaw.LoggingReceiver which would cause
            spurious compiler errors with JDK 1.1 and 1.2 javac compilers.</action>

          <action action="fix" issue="36267">Added a jndi.jar property to the build.xml.</action>

          <action action="fix" issue="37268">Added "release" target to build.xml.</action>

          <action action="fix" issue="36213">Removed references to obsolete documentation.</action>

          <action action="fix" issue="35965">Added protected accessors for member variables
            topicConnection, topicSession, and topicPublisher.</action>

          <action action="fix" issue="34026">SyslogAppender now checks Layout.ignoresThrowable() just
            like every other appender.</action>

          <action action="fix" issue="35947">DOMConfigurator would call LogLog.error to report
            XML validation errors that caused no problems in the interpretation of the
            configuration file.</action>

          <action action="fix" issue="14551">Fixed the JavaDoc links
            for the XML sample files.</action>

          <action action="fix" issue="35654">Added getNext/setNext methods to org.apache.log4j.spi.Filter and deprecated
            public "next" field. This mirrors the same change in the upcoming 1.3
            version and, hence, provides a migration path.</action>

          <action action="fix" issue="35711">Added o.a.log4j.Logger.trace(), o.a.log4j.Logger.isTraceEnabled() and
            o.a.log4j.Level.TRACE</action>

          <action action="fix" issue="34758">Implemented serialization for Level.</action>

          <action action="fix" issue="31056">o.a.log4j.ConsoleAppender would ignore redirections
            of System.out and System.err that occurred after configuration.</action>

          <action action="fix" issue="23705">o.a.log4j.xml.DOMConfigurator would not properly
            interpret relative path names in external entity declarations.</action>

          <action action="fix" issue="35691">o.a.log4j.xml.XmlLayout would not properly escape
            class names that contained '&lt;' or '&gt;'.</action>

          <action action="fix" issue="35052">Use of String.intern() in o.a.log4j.CategoryKey
            would cause application to slow down.</action>

          <action action="fix" issue="9150">o.a.log4j.FileAppender would not create log file
            if parent directory did not exist.</action>

          <action action="fix" issue="23021">o.a.log4j.AsyncAppender would deadlock if a
            unchecked exception occurred in the attached appender causing the
            dispatch thread to die.</action>

          <action action="fix" issue="35516">Added jdiff target to build.xml.</action>

          <action action="fix" issue="35831">log4j would not build with a JDK 1.5 javac.</action>

          <action action="fix" issue="35893">Added log4j 1.1 compatibility method
            to o.a.l.helpers.Loader.</action>

          <action action="fix" issue="34981">Additional null terminating character in Windows
            nteventlog.cpp code.</action>

          <action action="fix" issue="36332">Broken links to J2SE classes in javadocs.</action>

      </release>

      <release version="1.2.11" date="2005-06-18" description="JMS MessageRenderer fix">
          <action action="fix" issue="34491">o.a.log4j.or.jms.MessageRenderer
            would not be compiled in the build.jms target.</action>
      </release>

      <release version="1.2.10" date="2005-04-28" description="Version 1.2.10 was not released following the accepted rules and process of
   the log4j project and Logging Services Project and was recalled and removed.
   Please do not use version 1.2.10, it is not an official log4j release.">
			<action>Version 1.2.10 was not released following the accepted rules and process of
   the log4j project and Logging Services Project and was recalled and removed.
   Please do not use version 1.2.10, it is not an official log4j release.</action>
      </release>

       <release version="1.2.9" date="2004-11-01" description="Deprecation of obsolete methods">
            <action>  Log4j version 1.2.9, is identical to version 1.2.8, except that
  several key methods have been deprecated in preparation for version
  1.3.0, the next major release of log4j. These changes are intended to
  enforce the rule that client code should never refer to the Category
  class directly, but use the Logger class instead. Similarly, client
  code should not refer to the Priority class but to the Level class
  instead.

  For a more detailed discussion, refer to the document entitled
  preparing for log4j 1.3 at:
{'fraction_non_alphanumeric': 0.10208654764528691, 'fraction_numerical': 0.04599221218132393, 'mean_word_length': 4.154894906267752, 'pattern_counts': {'":': 0, '<': 390, '<?xml version=': 0, '>': 390, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 10}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4404899', 'n_tokens_mistral': 7953, 'n_tokens_neox': 7071, 'n_words': 2621}