[Progress Communities] [Progress OpenEdge ABL] Forum Post: Changing PASOE agent logging dynamically

Status
Not open for further replies.
D

dbeavon

Guest
We use the .Net open client, and any time an S.E.H. error is thrown in ABL, we still need to trap it and convert it to the legacy error format (ie. RETURN ERROR ch-error). This was true in classic appserver and it still remains true in PASOE. Unfortunately there are times when an SEH error is not caught, and bypasses our conversion efforts . The user gets a generic failure message (Runtime4GLErrorException) in the .net open client, and a message is shown in the logs like so: [18/11/28] P-000768 T-004092 1 AS-33 -- Cannot throw or return error/stop object to remote client because object is not serializable or client does not support it. (14438) There is nothing more in the logs to say what the error is, or where it came from. Therefore, unless the end-user decides to report the failure, this mystery message will never be resolved and will continue to appear in the logs forever. I'm aware that increasing the logging level and adding 4GLTrace to the log entry types will get to the bottom of the problem. The issues with this is that, (1) logging needs to be turned on for a very long time to diagnose an infrequent error, and will generate tons of logging in the meantime. This could be worse than living with the mystery message. And (2) I haven't found a way yet to cause PASOE to dynamically adjust its logging, based on changes in openedge.properties config values. Even if the agent process for an application is stopped individually and a new one is restarted, it doesn't seem to adjust the logs as requested. The only solution is to restart the entire instance. This is disruptive to openclient sessions (end users) with long-lived sessions because it will generate error(s) when the PASOE instance is restarted. Does anyone have any ideas how, in PASOE, to turn on agent logging dynamically until an error message can be captured, then turn it off again? These are the logging config values I'd like to be able to manipulate: agentLoggingLevel , agentLogEntryTypes. I'm quite sure that agents won't pick up my changes to openedge.properties (even new ones that are added on the fly) until the entire PASOE/tomcat instance is restarted. I believe there may be a way to accomplish this type of thing with system-wide custom-code by adjusting LOG-MANAGER properties myself but I'm hoping this won't be necessary if there is something already built into PASOE that I've overlooked. Also, is there any log entry type that I may have overlooked that is specifically for S.E.H. error handling. Ideally I'd be able to turn on logging for all errors thrown ("first-chance" errors) and that would reduce the amount of information sent to the agent logs (as compared to 4GLTrace). Any help would be appreciated. I found some links to some very helpful information about logging and PASOE troubleshooting. But they don't give me a way to adjust logging for an ABL application on the fly without restarting the entire instance. http://pugchallenge.org/downloads2017/2017NAPUGLogFilesA.pptx https://knowledgebase.progress.com/servlet/fileField?id=0BEa0000000TisZ Thanks in advance, David

Continue reading...
 
Status
Not open for further replies.
Top