log4j - class mediator logs are not reflecting in Wso2 esb -


hi working wso2 esb 4.7.0

i have created simple proxy , used class mediator add couple of nums shown below.

    <proxy xmlns="http://ws.apache.org/ns/synapse"        name="add_class"        transports="https http"        startonload="true"        trace="disable">    <description/>    <target>       <insequence>          <property name="messagetype"                    value="application/json"                    scope="axis2"                    type="string"/>          <property name="contenttype" value="application/json" scope="axis2"/>          <property name="force_error_on_soap_fault" value="true"/>          <property name="maths" expression="//maths/text()"/>          <property name="eng" expression="//eng/text()"/>          <property name="hindi" expression="//hindi/text()"/>          <log level="custom">             <property name="loglocation" value="add_class"/>             </log>          <class name="org.example.mediator.mailesb"/>          <filter xpath="get-property('toatalmarks')=''">             <then>                <payloadfactory media-type="xml">                   <format>                      <responsejson xmlns="">                         <body>                            <datalist>toatalmarks not found</datalist>                         </body>                         <status>404</status>                      </responsejson>                   </format>                   <args/>                </payloadfactory>                <log level="custom">                   <property name="loglocation" value="add_class"/>                   <property name="toatalmarks" expression="get-property('toatalmarks')"/>                </log>                <send/>             </then>             <else>                <payloadfactory media-type="xml">                   <format>                      <responsejson xmlns="">                         <body>                            <datalist>toatalmarks of subjets is</datalist>                            <sum>$1</sum>                         </body>                         <status>404</status>                      </responsejson>                   </format>                   <args>                      <arg evaluator="xml" expression="get-property('toatalmarks')"/>                   </args>                </payloadfactory>                <log level="custom">                   <property name="loglocation" value="add_class"/>                   <property name="toatalmarks" expression="get-property('toatalmarks')"/>                </log>                <send/>             </else>          </filter>       </insequence>       <outsequence>          <send/>       </outsequence>    </target> </proxy> 

class:

package org.example.mediator; import java.util.map; import java.util.properties; import java.util.iterator; import java.util.set;  import javax.mail.message; import javax.mail.passwordauthentication; import javax.mail.session; import javax.mail.transport; import javax.mail.internet.internetaddress; import javax.mail.internet.mimemessage; import org.apache.axiom.om.omabstractfactory; import org.apache.axiom.om.omelement; import org.apache.axiom.om.omnode; import org.apache.axiom.om.omtext; import org.apache.axiom.om.xpath.axiomxpath; import org.apache.axiom.soap.soapbody; import org.apache.axiom.soap.soapenvelope; import org.apache.axiom.soap.soapfactory;  import org.apache.synapse.managedlifecycle; import org.apache.synapse.messagecontext;  import org.apache.synapse.config.synapseconfiguration; import org.apache.synapse.core.synapseenvironment; import org.apache.synapse.mediators.abstractmediator; import org.apache.synapse.core.axis2.axis2messagecontext;   import org.apache.commons.logging.log; import org.apache.commons.logging.logfactory;   public class mailesb extends abstractmediator implements managedlifecycle  {       public boolean mediate(messagecontext synctx) {           log.info("loglocation = "+getclass().getname()+",proxyname = "+synctx.getproperty("proxy.name")+                 ",usercode = "+synctx.getproperty("usercode")+",clientid = "+synctx.getproperty("clientid")+                     ",position = start");            try {           string eng=""+synctx.getproperty("eng");         string maths=""+synctx.getproperty("maths");         string hindi=""+synctx.getproperty("hindi");          int t= integer.parseint(eng) + integer.parseint(maths) + integer.parseint(hindi);          synctx.setproperty("toatalmarks", t);         log.info("loglocation = "+getclass().getname()+", total of subjects is= " +t);            }             catch (exception e) {                 log.info( "loglocation = "+getclass().getname()+", mail sending exception: "+e+e.getmessage());                         }         return true;      }     @override     public void destroy() {         // todo auto-generated method stub      }      @override     public void init(synapseenvironment arg0) {         // todo auto-generated method stub     }     } 

i have defined logs in class code reflect in wso2 esb server failing so....

thanks!!

you need change class proper logger,

"private static final log log = logfactory.getlog(mailesb.class);"

so can manage logs , exceptions should

log.error not log.info


Comments