Log4j Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
No edit summary
Line 2: Line 2:


* [[log4j#Subjects|log4j]]
* [[log4j#Subjects|log4j]]
=Logger=
<tt>Logger</tt> is a subclass of <tt>[[#Category|Category]] and extends it. <tt>[[#Category|Category]]</tt> has been deprecated.


=Category=
=Category=


<blockquote style="background-color: Gold; border: solid thin Goldenrod;">
<blockquote style="background-color: Gold; border: solid thin Goldenrod;">
:This class has been deprecated and replaced with Logger.<br>
:This class has been deprecated and replaced with the [[#Logger|Logger]] subclass.<br>
</blockquote>
</blockquote>
  * <p><code>Logger</code> is a subclass of Category, i.e. it extends
  * Category. In other words, a logger <em>is</em> a category. Thus,
  * all operations that can be performed on a category can be
  * performed on a logger. Internally, whenever log4j is asked to
  * produce a Category object, it will instead produce a Logger
  * object. Log4j 1.2 will <em>never</em> produce Category objects but
  * only <code>Logger</code> instances. In order to preserve backward
  * compatibility, methods that previously accepted category objects
  * still continue to accept category objects.
  *
  * <p>For example, the following are all legal and will work as
  * expected.
  *
  <pre>
    &nbsp;&nbsp;&nbsp;// Deprecated form:
    &nbsp;&nbsp;&nbsp;Category cat = Category.getInstance("foo.bar")
 
    &nbsp;&nbsp;&nbsp;// Preferred form for retrieving loggers:
    &nbsp;&nbsp;&nbsp;Logger logger = Logger.getLogger("foo.bar")
  </pre>
 
  *  <p>The first form is deprecated and should be avoided.
  *
  *  <p><b>There is absolutely no need for new client code to use or
  *  refer to the <code>Category</code> class.</b> Whenever possible,
  *  please avoid referring to it or using it.
  *
  * <p>See the <a href="../../../../manual.html">short manual</a> for an
  * introduction on this class.
  * <p>
  * See the document entitled <a href="http://www.qos.ch/logging/preparingFor13.html">preparing
  *  for log4j 1.3</a> for a more detailed discussion.
  *

Revision as of 23:53, 7 August 2016

Internal

Logger

Logger is a subclass of Category and extends it. Category has been deprecated.

Category

This class has been deprecated and replaced with the Logger subclass.


*

Logger is a subclass of Category, i.e. it extends * Category. In other words, a logger is a category. Thus, * all operations that can be performed on a category can be * performed on a logger. Internally, whenever log4j is asked to * produce a Category object, it will instead produce a Logger * object. Log4j 1.2 will never produce Category objects but * only Logger instances. In order to preserve backward * compatibility, methods that previously accepted category objects * still continue to accept category objects. * *

For example, the following are all legal and will work as * expected. *

       // Deprecated form:
       Category cat = Category.getInstance("foo.bar")
   
       // Preferred form for retrieving loggers:
       Logger logger = Logger.getLogger("foo.bar")
   

*

The first form is deprecated and should be avoided. * *

There is absolutely no need for new client code to use or * refer to the Category class. Whenever possible, * please avoid referring to it or using it. * *

See the <a href="../../../../manual.html">short manual</a> for an * introduction on this class. *

* See the document entitled <a href="http://www.qos.ch/logging/preparingFor13.html">preparing * for log4j 1.3</a> for a more detailed discussion. *