Java Error Log doesn't write to WMERROR

What product/components do you use and which version/fix level?

10.3 Integration Server

Are you using a free trial or a product with a customer license?

customer license

What are trying to achieve? Please describe in detail.

Some Error like Java error doesn’t write to WMERROR log, the Error Logger is enabled and the Server Logger is on Info Mode, do i miss any settings?

Do you get any error messages? Please provide a full error message screenshot and log file.

Vincent, is your Error Logger pointing to a database or file?

KM

1 Like

Hi Vincent,

addittional place to check is the profiles/IS_default/logs/wrapper.log.
JVM based logging messages go there.

Regards,
Holger

Hello Mr Kasi, usually non java exception like, JDBC Adapter is printed on WMERROR and my Logger is pointing to a file.

Mr. Holger, i tried to check wrapper.log on the profiles directory the exception is not printed there

The case is our IS monitored by dynatrace and got exception about java.net.Socket:Connection Reset, but we don’t know which services are resulting that, so im trying to find on WMERROR but no luck

I have observed that IO exceptions don’t capture the service name at times, in the error logs - this was due to erratic design.

Service Audit

  1. In your flow service, is the error caught and handled in the Catch? In simpler terms, is there an “Exit from $flow and signal failure” step at the end of your Catch block, or not?
  2. When you go to MWS and search for this service that failed (with the execution timestamp), do you see an entry?
  3. If you see an entry for #2, is the status success/failure?

Other Areas

  1. Is the error logged to server log instead?
  2. Check the Logging Level on your IS - it must be set to “Info” for all the components on IS
  3. Try and force a failure to test if other errors are being written to the logs
  4. Check if you have sufficient disk space

KM

Yes, it’s on the handled on the catch, there are no “Exit from $flow with signal Failure”, if i added Exit from flow, it’s printed on WMERROR but there is no real reason for the error that i get from getLastError. The only captured exception on WMERROR is below, if i added Exit Flow:

com.wm.lang.flow.FlowException:
        at com.wm.lang.flow.FlowExit.invoke(FlowExit.java:368)
        at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:649)
        at com.wm.lang.flow.FlowState.step(FlowState.java:515)
        at com.wm.lang.flow.FlowState.invoke(FlowState.java:484)
        at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1150)
        at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:751)
        at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:46)
        at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:54)
        at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:250)
        at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
        at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
        at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:299)
        at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:34)
        at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:399)
        at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:629)
        at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:443)
        at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:401)
        at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:253)
        at com.wm.app.b2b.server.comm.DefaultServerRequestHandler.handleMessage(DefaultServerRequestHandler.java:120)
        at com.wm.app.b2b.server.HTTPMessageHandler.process(HTTPMessageHandler.java:163)
        at com.wm.app.b2b.server.HTTPDispatch.handleRequest(HTTPDispatch.java:190)
        at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:401)
        at com.wm.util.pool.PooledThread.run(PooledThread.java:134)
        at java.lang.Thread.run(Thread.java:748)
  1. Is the error logged to server log instead?
    No, because i didn’t put a debug log on the services, on the catch sequence

  2. Check the Logging Level on your IS - it must be set to “ Info ” for all the components on IS
    Yes, the server log is on Info

  3. Try and force a failure to test if other errors are being written to the logs
    Only adapters errors are appearing on WMERROR, but flow service error aren’t printed

You must take the actual error after invoking getLastError and populate it on the Exit step, or disable/remove the Catch block, to see the error in the logs.

Reason - Main is set to SUCCESS, Catch is set to DONE, so the flow service is seen to be successful since the error is handled (i.e., Main is seen as successful). I’ll elaborate this reason behind this in the morning; it’s late night for me now.

Did you check this? It would’ve showed success, before you added the Exit step.

KM

Thanks for your time Mr Kasi, your explanation is right, when i disabled the catch now the service printed on the WMERROR, so the best practice is to put debugLog on catch sequence after getLastError?
Also our environment, didn’t activate the MWS, only just the IS

Also i found another case, there is a filePooling ports in my IS, inside the fileProcessing service it encountered an error, but it doesn’t move the file to Error Directory, while it still moved to file to Complete Directory

No, not debugLog; you need the following -

Perhaps it’s the same issue for the processing service that you have in your file-polling port.
I have bandwidth and hardware issues, so I’m unable to help you with a sample service - perhaps someone else can. Do look for webMethods development best practices and may find some references.

KM

How do you populate the actual error to the Exit Step? i tried to put lastError variable to Failure Message but it failed, it only show this

Edit: I solved it by putting a String Variable on Failure Message Thanks!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.