Support Article

Error is getting repeated multiple times in pegaam_exception

SA-31568

Summary



Whenever exception occurs it gets logged multiple times in pegaam_Exception table and hence when user opens the details tabs of exception workobject, user observes error getting repeated many times, the error is for the same user and occurred at the same time.

Error Messages



Not Applicable

Steps to Reproduce



Not Applicable


Root Cause



A software use or operation error. When reporting exceptions, there is no guaranteed unique identifier.

There are both prlogging entries for logging alerts and exceptions as well as the PDC URL.

​This configuration is not supported and is the root cause of multiple exceptions being logged.


Resolution



Make the following change to the operating environment:

Remove the following elements in red, bold, italic from prlogging.xml

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="ALERT-ASYNC" class="com.pega.apache.log4j.AsyncAppender">
<param name="BufferSize" value="512"/>
<param name="Blocking" value="false"/>
<filter class="com.pega.apache.log4j.varia.LevelMatchFilter">
<param name="LevelToMatch" value="ALERT"/>
<param name="AcceptOnMatch" value="true"/>
</filter>
<filter class="com.pega.apache.log4j.varia.DenyAllFilter"/>
<appender-ref ref="ALERT-PERFORMANCE"/>
<appender-ref ref="ALERT-SECURITY"/>
<appender-ref ref="ALERT-AES-SOAP"/>
</appender>

<appender name="ALERT-PERFORMANCE" class="com.pega.apache.log4j.AsyncAppender">
<param name="BufferSize" value="512"/>
<param name="Blocking" value="false"/>
<filter class="com.pega.pegarules.priv.MDCMatchFilter">
<param name="TagToMatch" value="alertType" />
<param name="StringToMatch" value="security" />
<param name="AcceptOnMatch" value="false"/>
</filter>
<appender-ref ref="ALERT"/>
<appender-ref ref="ALERT-AES-SOAP"/>
</appender>

<appender name="ALERT-AES-SOAP" class="com.pega.pegarules.priv.util.SOAPAppenderPega">
<!-- <param name="BufferSize" value="512"/>
<param name="Blocking" value="false"/> -->
<param name="EndPointURL" value="http://your_host/PRSOAPServlet" />
<param name="Mode" value="ALERT" />
<param name="AllowLiveChanges" value="false"/>
<param name="OutputEnabled" value="true"/>
<param name="Timeout" value="1000"/>
<layout class="com.pega.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m%n" />
</layout>
</appender>



<appender name="ASYNC" class="com.pega.apache.log4j.AsyncAppender">
<param name="BufferSize" value="512"/>
<param name="Blocking" value="false"/>
<filter class="com.pega.apache.log4j.varia.LevelMatchFilter">
<param name="LevelToMatch" value="ALERT"/>
<param name="AcceptOnMatch" value="false"/>
</filter>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="PEGA"/>
<appender-ref ref="EXCEPTION-AES-SOAP"/>
</appender>

<appender name="EXCEPTION-AES-SOAP" class="com.pega.pegarules.priv.util.SOAPAppenderPega">
<!-- <param name="BufferSize" value="512"/>
<param name="Blocking" value="false"/> -->
<param name="EndPointURL" value="http://your_host/PRSOAPServlet" />
<param name="Mode" value="exception" />
<param name="ExceptionsOnly" value="true" />
<param name="AllowLiveChanges" value="false" />
<param name="OutputEnabled" value="true"/>
<param name="Timeout" value="1000"/>
<layout class="com.pega.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{GMT}*%Y{instance_id}*%t*%c*%X{RequestorId}*%X{pegathread}*%X{app}*%X{userid}*%X{stack}*%m%n"/>
</layout>
</appender>



Published December 16, 2016 - Updated August 23, 2017

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.