Syslog: White Paper FAQ Examples JavaDoc
Protomatter Classes v1.1.6

com.protomatter.syslog.xml
Class JDK14PerClassPolicy_Helper

java.lang.Object
  |
  +--com.protomatter.syslog.xml.SimpleLogPolicy_Helper
        |
        +--com.protomatter.syslog.xml.JDK14PerClassPolicy_Helper
All Implemented Interfaces:
XMLConfigHelper

public class JDK14PerClassPolicy_Helper
extends SimpleLogPolicy_Helper

XML configuration helper for JDK14PerClassPolicy.


Constructor Summary
JDK14PerClassPolicy_Helper()
           
 
Method Summary
 void configure(java.lang.Object o, org.jdom.Element e)
          Configure this policy given the XML element.
 void configureGroup(JDK14PerClassPolicy.PolicyGroup g, org.jdom.Element e)
           
 org.jdom.Element getConfiguration(java.lang.Object o, org.jdom.Element element)
          Encode the given object's configuration into the given XML element.
 org.jdom.Element getConfigurationGroup(JDK14PerClassPolicy.PolicyGroup g, org.jdom.Element element)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JDK14PerClassPolicy_Helper

public JDK14PerClassPolicy_Helper()
Method Detail

configure

public void configure(java.lang.Object o,
                      org.jdom.Element e)
               throws SyslogInitException
Configure this policy given the XML element. This class inherits the policy element parameters that SimpleLogPolicy_Helper understands. The additional Policy elements should look like this:



  <Policy class="com.protomatter.syslog.JDK14PerClassPolicy" >

    <!--
     Config params from SimpleLogPolicy_Helper can
     get inserted here.
    -->

    <PolicyGroup>

      <!--
       Config params from SimpleLogPolicy_Helper can
       get inserted here.
      -->

      <classPattern>ClassPattern-1</classPattern>
      <classPattern>ClassPattern-2</classPattern>
      ...
      <classPattern>ClassPattern-N</classPattern>

      <className>ClassName-1</className>
      <className>ClassName-2</className>
      ...
      <className>ClassName-N</className>
    </PolicyGroup>

    <!-- Insert more PolicyGroups here -->

  </Policy>
  

This class basically reads each <PolicyGroup> element and creates a new PolicyGroup instance and configures that instance with the <PolicyGroup> element.

If none of the pattern groups has anything to say about logging the message, the decision is deferred to the superclass and it makes the decision based on the log mask and channel information that was defined in the enclosing Policy element.

Element
name value required
PolicyGroup See PolicyGroup docs. no

The following example should explain things better:



  <Policy class="com.protomatter.syslog.JDK14PerClassPolicy" >

    <!--
     Defaults -- if none of the groups below match,
     then only allow messages at or above the WARNING level.
    -->
    <logMask>WARNING</logMask>
    <channels>ALL_CHANNEL</channels>

    <!--
     Log DEBUG and above messages for messages coming from
     the com.protomatter.xml.* and com.protomatter.jdbc.*
     packages, and from the com.protomatter.util.Mutex class.
    -->
    <PolicyGroup>
      <logMask>DEBUG</logMask>
      <channels>ALL_CHANNEL</channels>

      <classPattern>com.protomatter.xml.*</classPattern>
      <classPattern>com.protomatter.jdbc.*</classPattern>

      <className>com.protomatter.util.Mutex</className>
    </PolicyGroup>

    <!--
     Log INFO and above messages for messages coming from
     the com.protomatter.pas.* and com.protomatter.util.*
     packages, and from the com.protomatter.jdbc.pool.JdbcConnectionPool class.
    -->
    <PolicyGroup>
      <logMask>INFO</logMask>
      <channels>ALL_CHANNEL</channels>

      <classPattern>com.protomatter.pas.*</classPattern>
      <classPattern>com.protomatter.util.*</classPattern>

      <className>com.protomatter.jdbc.pool.JdbcConnectionPool.*</className>
    </PolicyGroup>

    <!--
     Getting fancy now.  If the channel is OPS_CHANNEL or DEV_CHANNEL
     and the class name contains the word "Debug" then allow
     messages at or above the ERROR level.
    -->
    <PolicyGroup>
      <logMask>ERROR</logMask>
      <channels>OPS_CHANNEL, DEV_CHANNEL</channels>

      <classPattern>*Debug*</classPattern>
    </PolicyGroup>

  </Policy>
  

Overrides:
configure in class SimpleLogPolicy_Helper

configureGroup

public void configureGroup(JDK14PerClassPolicy.PolicyGroup g,
                           org.jdom.Element e)
                    throws SyslogInitException

getConfiguration

public org.jdom.Element getConfiguration(java.lang.Object o,
                                         org.jdom.Element element)
Description copied from interface: XMLConfigHelper
Encode the given object's configuration into the given XML element.
Overrides:
getConfiguration in class SimpleLogPolicy_Helper

getConfigurationGroup

public org.jdom.Element getConfigurationGroup(JDK14PerClassPolicy.PolicyGroup g,
                                              org.jdom.Element element)

Protomatter Classes v1.1.6
Copyright 1998-2001 Nate Sammons

Protomatter Classes v1.1.6 http://protomatter.sourceforge.net/1.1.6