1 2 Previous Next 16 Replies Latest reply: Dec 5, 2013 9:10 AM by 969806 RSS

    Logging In Custom Identity Connector

    987932
      I am creating a custom Identity Connector based on the ICF SPI but I cannot see any of my log messages. I'm hoping that someone can tell me what I'm doing wrong and how to get logging working (DETAILED, step by step instructions would be nice).

      Here are some snippets of my code and logging configs (unnecessary comments/method sigs/annotations are removed for clarity)

      BEGIN CODE SNIPPET*
      package myPackage

      import oracle.iam.connectors.icfcommon.log.LoggerBridge;
      /*Other Imports Hidden */

      /* Hide Annotations */
      public class NewConnector implements PoolableConnector /*and more */

      private LoggerBridge _loggerBridge = new LoggerBridge();

      /* Hide Annotations */
      public Uid create( ObjectClass objectClass, Set<Attribute> attributes, OperationOptions options ){
      Uid ret = null;
      _loggerBridge.log(this.getClass(), "create", Log.Level.INFO, "create() start", null);

      /* hide business logic */
      return ret;
      }
      END CODE SNIPPET*

      BEGIN logging.xml SNIPPET*
      <logging_configuration>
      <log_handlers>
      <log_handler name='my-handler' level='TRACE:16' class='oracle.core.ojdl.logging.ODLHandlerFactory'>
      <property name='logreader:' value='off'/>
      <property name='path' value='/mylogpath/oim_server1-diagnostic.log'/>
      <property name='format' value='ODL-Text'/>
      <property name='useThreadName' value='true'/>
      <property name='locale' value='en'/>
      <property name='maxFileSize' value='5242880'/>
      <property name='maxLogSize' value='52428800'/>
      <property name='encoding' value='UTF-8'/>
      </log_handler>
      <logger name="mypackage" level="TRACE:16" useParentHandlers="false">
      <handler name="my-handler"/>
      </logger>
      <logger name="oracle.iam.connectors.icfcommon" level="TRACE:16" useParentHandlers="false">
      <handler name="my-handler"/>
      </logger>
      END logging.xml SNIPPET*
        • 1. Re: Logging In Custom Identity Connector
          idamGod
          Where did u define "oracle.iam.connectors.icfcommon" in your code but you are using it in the logging.xml.

          You can this for logging.

          import org.identityconnectors.common.logging.Log;
          .
          .
          .

          private static final Log LOG = Log.getLog(FlatFileConnector.class);
          .
          .
          LOG.debug("bla bla bla");


          Refer this flat file ICF connector example for logging.
          http://www.oracle.com/technetwork/middleware/id-mgmt/overview/oim-11g-assets-504842.html
          • 2. Re: Logging In Custom Identity Connector
            Durgaprasad
            Refer this link for custom logging in OIM

            OIM 11gR2 : Custom Logging
            • 3. Re: Logging In Custom Identity Connector
              987932
              Thanks for the suggestion. I tried using org.identityconnectors.common.logging.Log, but that did not work either. I also tried using System.out.println(), and still nothing is showing up in my logs.

              Someone also suggested that I use "com.thortech.util.logging.Logger" but I don't see that class available in my development environment.

              Any other suggestions?

              I'm wondering if there is something messed up with my logging config, so, here is a complete copy of my logging config file {$WL_DOMAIN}/config/fmwconfig/servers/oim_server1/logging.xml"

              <?xml version="1.0" encoding="UTF-8"?>
              <logging_configuration>
              <log_handlers>

              <log_handler name='console-handler' class='oracle.core.ojdl.logging.ConsoleHandler' formatter='oracle.core.ojdl.weblogic.ConsoleFormatter' level='WARNING:32'/>

              <!-- enable logging 08/18/2012 -->
              <log_handler name='my-handler' level='TRACE:16'
              class='oracle.core.ojdl.logging.ODLHandlerFactory'>
              <property name='logreader:' value='off'/>
              <property name='path' value='/data/Oracle/Middleware/user_projects/domains/base_domain/servers/oim_server1/logs/oim_server1-mylog.log'/>
              <property name='format' value='ODL-Text'/>
              <property name='useThreadName' value='true'/>
              <property name='locale' value='en'/>
              <property name='maxFileSize' value='5242880'/>
              <property name='maxLogSize' value='52428800'/>
              <property name='encoding' value='UTF-8'/>
              </log_handler>

              <log_handler name='test-handler' level='TRACE:16'
              class='oracle.core.ojdl.logging.ODLHandlerFactory'>
              <property name='logreader:' value='off'/>
              <property name='path' value='/data/Oracle/Middleware/user_projects/domains/base_domain/servers/oim_server1/logs/test-diagnostic.log'/>
              <property name='format' value='ODL-Text'/>
              <property name='useThreadName' value='true'/>
              <property name='locale' value='en'/>
              <property name='maxFileSize' value='5242880'/>
              <property name='maxLogSize' value='52428800'/>
              <property name='encoding' value='UTF-8'/>
              </log_handler>

              <log_handler name='odl-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory' filter='oracle.dfw.incident.IncidentDetectionLogFilter'>
              <property name='path' value='${domain.home}/servers/${weblogic.Name}/logs/${weblogic.Name}-diagnostic.log'/>
              <property name='maxFileSize' value='10485760'/>
              <property name='maxLogSize' value='104857600'/>
              <property name='encoding' value='UTF-8'/>
              <property name='useThreadName' value='true'/>
              <property name='supplementalAttributes' value='J2EE_APP.name,J2EE_MODULE.name,WEBSERVICE.name,WEBSERVICE_PORT.name,composite_instance_id,component_instance_id,composite_name,component_name'/>
              </log_handler>

              <log_handler name='wls-domain' class='oracle.core.ojdl.weblogic.DomainLogHandler' level="WARNING"/>

              <log_handler name='owsm-message-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory'>
              <property name='path' value='${domain.home}/servers/${weblogic.Name}/logs/owsm/msglogging'/>
              <property name='maxFileSize' value='10485760'/>
              <property name='maxLogSize' value='104857600'/>
              <property name='encoding' value='UTF-8'/>
              <property name='supplementalAttributes' value='J2EE_APP.name,J2EE_MODULE.name,WEBSERVICE.name,WEBSERVICE_PORT.name'/>
              </log_handler>

              <log_handler name='em-log-handler' level='NOTIFICATION:32' class='oracle.core.ojdl.logging.ODLHandlerFactory' filter='oracle.dfw.incident.IncidentDetectionLogFilter'>
              <property name='path' value='${domain.home}/servers/${weblogic.Name}/sysman/log/emoms.log'/>
              <property name='format' value='ODL-Text'/>
              <property name='useThreadName' value='true'/>
              <property name='maxFileSize' value='5242880'/>
              <property name='maxLogSize' value='52428800'/>
              <property name='encoding' value='UTF-8'/>
              </log_handler>

              <log_handler name='em-trc-handler' level='TRACE:32' class='oracle.core.ojdl.logging.ODLHandlerFactory'>
              <property name='logreader:' value='off'/>
              <property name='path' value='${domain.home}/servers/${weblogic.Name}/sysman/log/emoms.trc'/>
              <property name='format' value='ODL-Text'/>
              <property name='useThreadName' value='true'/>
              <property name='locale' value='en'/>
              <property name='maxFileSize' value='5242880'/>
              <property name='maxLogSize' value='52428800'/>
              <property name='encoding' value='UTF-8'/>
              </log_handler>


              </log_handlers>

              <loggers>

              <logger name="mypackage" level="TRACE:32"
              useParentHandlers="false">
              <handler name="my-handler"/>
              </logger>


              <logger name="OIMCP.EDIRECTORY" level="TRACE:16"
              useParentHandlers="false">
              <handler name="my-handler"/>
              <handler name="console-handler"/>
              </logger>

              <logger name="XELLERATE.DATABASE" level="NOTIFICATION:1"
              useParentHandlers="false">
              <handler name="test-handler"/>
              </logger>

              <logger name="Xellrate.Server" level="NOTIFICATION:1"
              useParentHandlers="false">
              <handler name="test-handler"/>
              </logger>

              <logger name="Xellrate.WebApp" level="NOTIFICATION:1"
              useParentHandlers="false">
              <handler name="test-handler"/>
              </logger>

              <logger name="com.thortech.xl.util.schedule.tasks"
              useParentHandlers="false">
              <handler name="test-handler"/>
              </logger>

              <logger name="Xellrate.Workflow" level="TRACE:32"
              useParentHandlers="false">
              <handler name="console-handler"/>
              </logger>

              <logger name="oracle.iam.identitytaskflow" level="TRACE:32"
              useParentHandlers="false">
              <handler name="my-handler"/>
              </logger>

              <logger name="oracle.iam.connectors.icfcommon" level="TRACE:32"
              useParentHandlers="false">
              <handler name="my-handler"/>

              </logger>

              <logger name="oracle.iam.identity.usermgmt" level="TRACE:32"
              useParentHandlers="false">
              <handler name="my-handler"/>
              </logger>

              <logger name="org.identityconnectors.common.logging" level="TRACE:32" useParentHandlers="false">
              <handler name="my-handler"/>
              </logger>

              <logger name="" level="WARNING:1">
              <handler name="odl-handler"/>
              <handler name="wls-domain"/>
              <handler name="console-handler"/>
              </logger>

              <logger name="oracle" level="NOTIFICATION:1"/>

              <logger name="oracle.adf"/>
              <logger name="oracle.adf.desktopintegration"/>
              <logger name="oracle.adf.faces"/>
              <logger name="oracle.adf.controller"/>
              <logger name="oracle.adfinternal"/>
              <logger name="oracle.adfinternal.controller"/>
              <logger name="oracle.jbo"/>
              <logger name="oracle.adfdt"/>
              <logger name="oracle.adfdtinternal"/>

              <logger name="oracle.bam"/>
              <logger name="oracle.bam.adapter"/>
              <logger name="oracle.bam.common"/>
              <logger name="oracle.bam.system"/>
              <logger name="oracle.bam.middleware"/>
              <logger name="oracle.bam.adc.security"/>
              <logger name="oracle.bam.common.security"/>
              <logger name="oracle.bam.adc.ejb.BamAdcServerBean"/>
              <logger name="oracle.bam.reportcache.ejb.ReportCacheServerBean"/>
              <logger name="oracle.bam.eventengine.ejb.EventEngineServerBean"/>
              <logger name="oracle.bam.ems.ejb.EMSServerBean"/>
              <logger name="oracle.bam.adc.api"/>
              <logger name="oracle.bam.adc"/>
              <logger name="oracle.bam.eventengine"/>
              <logger name="oracle.bam.ems"/>
              <logger name="oracle.bam.webservices"/>
              <logger name="oracle.bam.web"/>
              <logger name="oracle.bam.reportcache"/>

              <logger name="oracle.bpm"/>
              <logger name="oracle.bpm.analytics"/>
              <logger name="oracle.integration"/>
              <logger name="oracle.integration.platform.blocks.cluster"/>
              <logger name="oracle.integration.platform.blocks.deploy.coordinator"/>
              <logger name="oracle.integration.platform.blocks.event.saq"/>
              <logger name="oracle.integration.platform.blocks.java"/>
              <logger name="oracle.integration.platform.faultpolicy"/>
              <logger name="oracle.integration.platform.testfwk"/>
              <logger name="oracle.soa"/>
              <logger name="oracle.soa.adapter"/>
              <logger name="oracle.soa.b2b"/>
              <logger name="oracle.soa.b2b.apptransport"/>
              <logger name="oracle.soa.b2b.engine"/>
              <logger name="oracle.soa.b2b.repository"/>
              <logger name="oracle.soa.b2b.transport"/>
              <logger name="oracle.soa.b2b.ui"/>
              <logger name="oracle.soa.bpel"/>
              <logger name="oracle.soa.bpel.console"/>
              <logger name="oracle.soa.bpel.engine"/>
              <logger name="oracle.soa.bpel.engine.activation"/>
              <logger name="oracle.soa.bpel.engine.agents"/>
              <logger name="oracle.soa.bpel.engine.bpel"/>
              <logger name="oracle.soa.bpel.engine.compiler"/>
              <logger name="oracle.soa.bpel.engine.data"/>
              <logger name="oracle.soa.bpel.engine.delivery"/>
              <logger name="oracle.soa.bpel.engine.deployment"/>
              <logger name="oracle.soa.bpel.engine.dispatch"/>
              <logger name="oracle.soa.bpel.engine.sensor"/>
              <logger name="oracle.soa.bpel.engine.translation"/>
              <logger name="oracle.soa.bpel.engine.ws"/>
              <logger name="oracle.soa.bpel.engine.xml"/>
              <logger name="oracle.soa.bpel.entity"/>
              <logger name="oracle.soa.bpel.jpa"/>
              <logger name="oracle.soa.bpel.system"/>
              <logger name="oracle.soa.dvm"/>
              <logger name="oracle.soa.management.facade.api"/>
              <logger name="oracle.soa.mediator"/>
              <logger name="oracle.soa.mediator.common"/>
              <logger name="oracle.soa.mediator.common.cache"/>
              <logger name="oracle.soa.mediator.common.error"/>
              <logger name="oracle.soa.mediator.common.error.recovery"/>
              <logger name="oracle.soa.mediator.common.message"/>
              <logger name="oracle.soa.mediator.dispatch"/>
              <logger name="oracle.soa.mediator.dispatch.resequencer.toplink"/>
              <logger name="oracle.soa.mediator.filter"/>
              <logger name="oracle.soa.mediator.instance"/>
              <logger name="oracle.soa.mediator.management"/>
              <logger name="oracle.soa.mediator.metadata"/>
              <logger name="oracle.soa.mediator.monitor"/>
              <logger name="oracle.soa.mediator.resequencer"/>
              <logger name="oracle.soa.mediator.resequencer.besteffort"/>
              <logger name="oracle.soa.mediator.resequencer.fifo"/>
              <logger name="oracle.soa.mediator.resequencer.standard"/>
              <logger name="oracle.soa.mediator.service"/>
              <logger name="oracle.soa.mediator.serviceEngine"/>
              <logger name="oracle.soa.mediator.transformation"/>
              <logger name="oracle.soa.mediator.utils"/>
              <logger name="oracle.soa.mediator.validation"/>
              <logger name="oracle.soa.scheduler"/>
              <logger name="oracle.soa.services.common"/>
              <logger name="oracle.soa.services.identity"/>
              <logger name="oracle.soa.services.notification"/>
              <logger name="oracle.soa.services.rules"/>
              <logger name="oracle.soa.services.rules.obrtrace"/>
              <logger name="oracle.soa.services.workflow"/>
              <logger name="oracle.soa.services.workflow.common"/>
              <logger name="oracle.soa.services.workflow.evidence"/>
              <logger name="oracle.soa.services.workflow.metadata"/>
              <logger name="oracle.soa.services.workflow.persistency"/>
              <logger name="oracle.soa.services.workflow.query"/>
              <logger name="oracle.soa.services.workflow.report"/>
              <logger name="oracle.soa.services.workflow.runtimeconfig"/>
              <logger name="oracle.soa.services.workflow.soa"/>
              <logger name="oracle.soa.services.workflow.task"/>
              <logger name="oracle.soa.services.workflow.task.dispatch"/>
              <logger name="oracle.soa.services.workflow.task.routing"/>
              <logger name="oracle.soa.services.workflow.user"/>
              <logger name="oracle.soa.services.workflow.verification"/>
              <logger name="oracle.soa.services.workflow.worklist"/>
              <logger name="oracle.soa.services.workflow.performance"/>
              <logger name="oracle.soa.services.cmds"/>
              <logger name="oracle.soa.wsif"/>
              <logger name="oracle.soa.xref"/>

              <logger name="oracle.ucs"/>
              <logger name="oracle.sdp"/>
              <logger name="oracle.sdpinternal"/>
              <logger name="oracle.sdp.messaging"/>
              <logger name="oracle.sdp.messaging.client"/>
              <logger name="oracle.sdp.messaging.driver"/>
              <logger name="oracle.sdp.messaging.engine"/>
              <logger name="oracle.sdp.messaging.parlayx"/>
              <logger name="oracle.sdp.messaging.server"/>

              <logger name="oracle.wsm"/>

              <logger name="oracle.wsm.msg.logging" level="NOTIFICATION:1" useParentHandlers="false">
              <handler name="owsm-message-handler"/>
              <handler name="wls-domain"/>
              </logger>

              <logger name='oracle.sysman' level='NOTIFICATION:32' useParentHandlers='false'>
              <handler name='em-log-handler'/>
              <handler name='em-trc-handler'/>
              </logger>

              </loggers>
              </logging_configuration>

              Edited by: user9334143 on Jan 30, 2013 10:07 AM
              • 4. Re: Logging In Custom Identity Connector
                idamGod
                Change this.

                <logger name="oracle.iam.connectors.icfcommon" level="TRACE:32"
                useParentHandlers="false">
                <handler name="my-handler"/>


                to

                <logger name=oracle.iam.connectors.icfcommon" level="TRACE:32" useParentHandlers="false">
                <handler name="'my-handler"/>
                *<handler name="console-handler"/>* --> This line is missing in your logging property file.
                </logger>


                Also, provide us your sample code where you are writing into the log with the name "oracle.iam.connectors.icfcommon" so that we can take a look at it.
                • 5. Re: Logging In Custom Identity Connector
                  987932
                  Thanks for the suggestion. I will try adding the "console-handler" into both the "oracle.iam.connectors.icfcommon" and "myPackage" loggers. I will post back with the results.

                  To clarify, I added a logger definition for the "oracle.iam.connectors.icfcommon" package just in case there were some important messages - my code does not write to the logs with the name "oracle.iam.connectors.icfcommon", but rather "myPackage.MyConnector" - see code snippet below. The really important logger definition is the one for "myPackage"

                  Begin Code Snippet*
                  package myPackage

                  /* Various Imports Of Other Classes*/
                  import org.identityconnectors.common.logging.Log;

                  @ConnectorClass( configurationClass=MyConnectorConfigurationImpl.class, displayNameKey="MyConnector")
                  public class MyConnector implements PoolableConnector, CreateOp /* And Other Interfaces */{
                  private static final Log _log = Log.getLog( MyConnector.class );

                  /* Implement Other Methods required by Interfaces */

                  @Override
                  public Uid create( ObjectClass objectClass, Set<Attribute> attributes, OperationOptions options ){
                  _log.ok( "create().start" );
                  System.out.println( this.getClass().getName() + ".create().start" );
                  Uid ret = null;

                  /* Unimportant business logic */

                  return ret;
                  }
                  End Code Snippet*
                  • 6. Re: Logging In Custom Identity Connector
                    987932
                    Edited by: user9334143 on Jan 31, 2013 8:25 AM - Added info about messages showing up in odl-handler log but not my-handler log_
                    I tried restarting my OIM service and I now see log messages. However, they are not quite what I expected. I see messages show up in the "odl-handler" log but not in the "my-handler" log. Furthermore, the messages that show up appear to be the ones that I created using "System.out.println()" and not "_log.ok()".

                    The log messages look like this...
                    "<Jan 31, 2013 9:19:30 AM MST> <Notice> <Stdout> <BEA-000000> <myPackage.MyConnector.create().start>"

                    While this is definately progress, and I appreciate all of your help, I really need to get to the point where messages show up in an isolated log file (like the one defined in "my-handler"). We're so close..... :)



                    Edited by: user9334143 on Jan 31, 2013 8:09 AM - added comment about Identity Connector Server_
                    One more detail that I should mention: I am not using a separate Identity Connector Server. My ICF implementaiton is being executed directly in the OIM server.
                    • 7. Re: Logging In Custom Identity Connector
                      idamGod
                      do these changes as well.

                      <logger name="mypackage" level="TRACE:32" useParentHandlers="false">
                      <handler name="my-handler"/>
                      </logger>

                      To

                      <logger name="mypackage" level="TRACE:32" useParentHandlers="false">
                      <handler name="my-handler"/>
                      <handler name="console-handler"/>
                      </logger>


                      And

                      private static final Log _log = Log.getLog( MyConnector.class );

                      to

                      private static final Log _log = Log.getLog("mypackage");

                      After testing, you should be able to see the logs under this '/data/Oracle/Middleware/user_projects/domains/base_domain/servers/oim_server1/logs/oim_server1-mylog.log'/.
                      • 8. Re: Logging In Custom Identity Connector
                        987932
                        private static final Log log = Log.getLog("mypackage"); will not compile.  The org.identityconnectors.common.logging.Log.getLog() method only takes a Class Object as a parameter.  I guess I can try "private static final Log log = Log.getLog(MyConnector.class.getPackage().getClass());"

                        Edited by: user9334143 on Jan 31, 2013 9:24 AM
                        • 9. Re: Logging In Custom Identity Connector
                          idamGod
                          Make sure that the logger name is matching the logger name in your logger property file. Then only you will get the logs.
                          • 10. Re: Logging In Custom Identity Connector
                            987932
                            Ok. So I made sure that my logger name exactly matches my package/class declarations, restarted the OIM service and I'm still not seeing anything in the "my-handler" log. (I still see my System.out.println() in the "odl-handler" log).

                            Logger Cfg*
                            <logger name="myPackage.MyConnector" level="TRACE:32"
                            useParentHandlers="false">
                            <handler name="my-handler"/>
                            <handler name="console-handler"/>
                            </logger>

                            Code*
                            package myPackage
                            //imports & class declaration
                            private static final Log _log = Log.getLog( MyConnector.class );
                            // as expected MyConnector.class resolves to "myPackage.MyConnector"
                            • 11. Re: Logging In Custom Identity Connector
                              idamGod
                              private static final Log _log = Log.getLog( MyConnector.class );
                              will return "*class* myPackage.MyConnector" not just "myPackage.MyConnector". Check it.

                              Just for a courtesy, if you find something helpful, mark it as helpful or correct.
                              • 12. Re: Logging In Custom Identity Connector
                                987932
                                Yes, if you print the output from "MyConnector.class" it shows "class myPackage.MyConnector". This is because the "toString()" method in the "java.lang.Class" object appends the string "class " before printing out the full package name and the class name. The javadoc clearly states how this works "Converts the object to a string. The string representation is the string "class" or "interface", followed by a space, and then by the fully qualified name of the class in the format returned by getName. If this Class object represents a primitive type, this method returns the name of the primitive type. If this Class object represents void this method returns "void"."

                                Now, getting back to the topic at hand, let's look at the method signature for "getLog" in "org.identityconnectors.common.logging.Log".

                                public static Log getLog(Class<?> clazz).

                                Clearly, I cannot pass a string - this will not compile. For example...
                                private static final Log _log = Log.getLog( "myPackage.MyConnector" );
                                spits out this when you compile
                                symbol : method getLog(java.lang.String)
                                location: class org.identityconnectors.common.logging.Log
                                private static final Log _log = Log.getLog( "myPackage.MyConnector" );
                                1 error

                                My only option is to give it what it needs, an object of type java.lang.Class. For example...
                                private static final Log _log = Log.getLog( MyConnector.class )
                                this compiles just fine but this does not seem to work with the logger.

                                I can also try something like this...
                                private static Log _log = null;
                                static{
                                try{
                                _log = Log.getLog( Class.forName( "myPackage.MyConnector") );
                                }catch( Exception e ){

                                }
                                }
                                but "Class.forName( "myPackage.MyConnector")" should be equivalent to "MyConnector.class"
                                • 13. Re: Logging In Custom Identity Connector
                                  idamGod
                                  I do not have any environment to test this.

                                  But you can give a try and make sure the logger name in your code is matching with the logger name given in logging.xml.
                                  • 14. Re: Logging In Custom Identity Connector
                                    987932
                                    Thanks, I tried a few experiments and found some interesting and encouraging results.

                                    I modified the init() method of the MyConnector class like this...
                                    Begin Code_
                                    public void init( Configuration config ){
                                    if( _log.isError() ){
                                    log.error( "init(log) start", (Object)null );
                                    }
                                    if( _log.isInfo() ){
                                    _log.info( "init(_log) start", (Object)null );
                                    }
                                    if( _log.isOk() ){
                                    _log.ok( "init(_log) start", (Object)null );
                                    }
                                    if( _log.isWarning() ){
                                    _log.warn( "init(_log) start", (Object)null );
                                    }
                                    System.out.println( this.getClass().getName() + ".init(Sys.o.p)._log = " + _log );
                                    System.out.println( this.getClass().getName() + ".init(Sys.o.p)._log.isError() = " + _log.isError() );
                                    System.out.println( this.getClass().getName() + ".init(Sys.o.p)._log.isInfo() = " + _log.isInfo() );
                                    System.out.println( this.getClass().getName() + ".init(Sys.o.p)._log.isOk() = " + _log.isOk() );
                                    System.out.println( this.getClass().getName() + ".init(Sys.o.p)._log.isWarning() = " + _log.isWarning() );
                                    System.out.println( this.getClass().getName() + ".init(Sys.o.p) start" );
                                    System.out.println( this.getClass().getName() + ".init(Sys.o.p).class = " + MyConnector.class );
                                    this._config = (MyConnectorConfigurationImpl)config;
                                    }
                                    _*End Code*_

                                    I saw the following in the "odl-handler" log, but not the "my-handler" log
                                    _*Begin Log Output From oimserver1-diagnostic.log*_
                                    +<Jan 31, 2013 3:12:42 PM MST> <Notice> <Stdout> <BEA-000000> <<Jan 31, 2013 3:12:42 PM MST> <Error> <MYPACKAGE.MYCONNECTOR> <BEA-000000> <myPackage.MyConnector : init : init(_log) start>>+
                                    <Jan 31, 2013 3:12:42 PM MST> <Notice> <Stdout> <BEA-000000> <myPackage.MyConnector.init(Sys.o.p)._log.isError() = true>
                                    <Jan 31, 2013 3:12:42 PM MST> <Notice> <Stdout> <BEA-000000> <myPackage.MyConnector.init(Sys.o.p)._log = org.identityconnectors.common.logging.Log@53f6ca03>
                                    <Jan 31, 2013 3:12:42 PM MST> <Notice> <Stdout> <BEA-000000> <myPackage.MyConnector.init(Sys.o.p)._log.isOk() = false>
                                    <Jan 31, 2013 3:12:42 PM MST> <Notice> <Stdout> <BEA-000000> <myPackage.MyConnector.init(Sys.o.p)._log.isInfo() = false>
                                    <Jan 31, 2013 3:12:42 PM MST> <Notice> <Stdout> <BEA-000000> <myPackage.MyConnector.init(Sys.o.p)._log.isWarning() = false>
                                    <Jan 31, 2013 3:12:42 PM MST> <Notice> <Stdout> <BEA-000000> <myPackage.MyConnector.init(Sys.o.p) start>
                                    <Jan 31, 2013 3:12:42 PM MST> <Notice> <Stdout> <BEA-000000> <myPackage.MyConnector.init(Sys.o.p).class = class myPackage.MyConnector>
                                    _*End Log Output From oimserver1-diagnostic.log*_

                                    This is GREAT, I can actually see the messages generated by "_log.error()" (first line of the log output). However, this brings up two thoughts.

                                    1. What do I have to do to bring the _log sensitivity up to a level where I can see output generated by "_log.ok()", "_log.info()", and "_log.warn()". Could the "level='TRACE:16'" attribute defined in "my-handler" be the culprit?

                                    2. The output from _log.whatever() does not seem to be be making it to "my-handler", but appears to be getting swallowed up by the "odl-handler". Is there something wierd about the logging.xml config (see post from Jan 30, 2013 7:09 AM), or maybe the logging configuration in defined in the WebLogic Server Admin console?

                                    I do appreciate the time you are spending helping me with this problem.
                                    1 2 Previous Next