12-18-2017 06:37 AM
Hello there,
I am new to CVP, correct me if I am wrong. I have a database element in my CVP application. And I have an event DB_Error created to handle Java Exception, and its Event list is (.) dot to capture all the exception, I want to know to how to log the stack trace (in CVP activity logs) that is generated when this DB_Error event occurs. Kindly do assist me
Thanks in advance.
12-18-2017 11:33 AM
You should change the error that you're catching to . to catch all
java exceptions.
The stack trace will be in the error log by default in
C:\Cisco\VxmlServer\applications\appname\logs\ErrorLog\
12-19-2017 12:47 AM
Hi Janine,
If you see my screenshot I already have dot(.) there, but it is not logging the stack trace whenever the DB_Error event occurs. It directly enters the Subflow_DB_update_outbound element. Can you please provide me another solution?
12-19-2017 09:16 AM
Change the error that you're catching to star dot star (*.*) --- For some reason, the stars were omitted from the response I sent you.
Then post both your activity log and your error log.
Have you changed any of the activity or error logging properties?
12-19-2017 09:17 AM
Also - are you using the Cisco Database element? Or a custom element?
12-21-2017 05:12 AM
I tried using (*.*) as well, still no trace in activity or error logs and yes it is a database element.
12-21-2017 01:41 PM
What if you remove the event handling. Then do you see an error log
under applications/appname/logs/ErrorLog?
12-22-2017 01:54 AM
Well that needs to be tested, the actual requirement is to log the stack trace of the error that is being handled. But you have a point there, I need to see what type of error, it throws when it is not handled.
01-03-2018 05:26 AM
Hi Janine,
As discussed I have removed the error handling just to obtain the stack trace in error log, so this is what I get,
172.29.21.162.1514985444925.160167.Callback_1_6,01/03/2018 13:18:12.381,A VoiceXML error occurred of type "error.badfetch" 172.29.21.162.1514985444925.160167.Callback_1_6,01/03/2018 13:18:12.444,An error has occurred. 172.29.21.162.1514985444925.160167.Callback_1_6,01/03/2018 13:18:24.612, The error was: Another thread is currently working on this session. This means the original thread took too long to complete what it was doing. To prevent abnormal behaviour the original thread will exit immediately. The call should not be affected. com.audium.server.MultipleThreadException: Another thread is currently working on this session. This means the original thread took too long to complete what it was doing. To prevent abnormal behaviour the original thread will exit immediately. The call should not be affected. at com.audium.server.session.ControllerData.isCurrentThreadOwner(ControllerData.java:5087) at com.audium.server.voiceElement.SubflowCallElement.service(SubflowCallElement.java:380) at com.audium.server.controller.Controller.goToSubflowCall(Controller.java:4198) at com.audium.server.controller.Controller.goToElement(Controller.java:3569) at com.audium.server.controller.Controller.continueCall(Controller.java:3272) at com.audium.server.controller.Controller.handleError(Controller.java:3058) at com.audium.server.controller.Controller.handleError(Controller.java:3068) at com.audium.server.controller.Controller.handleError(Controller.java:3068) at com.audium.server.controller.Controller.doPost(Controller.java:981) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1600) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744)
So I there any other way to trace the same even when the error is being handled? Many thanks
01-03-2018 06:08 PM
1) I've noticed that if you are catching VoiceXML events, they no longer
display as logged in the error log.
2) I don't know if you can get the stack trace to display when catching
VoiceXML events, however you can log to the ActivityLog the information
that's contained in the Session Variable named lastException - so at
least you'll know the name of the event and where it occurred and the
type of event. But this variable doesn't exist if you use the HotEvent
element to catch VXML events. Instead you can use the Events tab of the
Start of Call to catch VXML Events. By the way, you can find these
variables in the Studio User's Guide.
When you catch VoiceXML Events at the Start of Call element, you can
connect to an AppModifier element and use its General Tab to add the
following to the Activity Log:
Name of the exception: {Data.Session.lastException.code}
Type of exception: {Data.Session.lastException.type}
Location of exception: {Data.Session.lastException.source}
3) Or you can skip catching the VXML Events, and instead use an Error
Element to return data to ICM upon an error. Then you will get the stack
trace in the error log.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide