需求:由于操作日志当中error message里面的错误报文信息过多,存入数据库会占用较大的空间(通常有3-5KB),长此以往,不是办法。在暂时不考虑定时任务清理的情况下,errorMsg以外的信息又足够满足记录操作日志的目的,所以截取报文当中的trace字段刻不容缓
例如
{
"homepageUrl":"null",
"id":"null",
"retCode":"-9999",
"retMessage":"Data truncation: Data too long for column 'domain_name' at row 1",
"trace":"java.lang.Exception: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'domain_name' at row 1
com.xxxxxx.pxgxfrxmx.srv.OSDIInvoker.invoke(OSDIInvoker.java:56)
com.xxxxxx.tools.osdi.OSDI.invoke(OSDI.java:383)
com.xxxxxx.pxgxfrxmx.srv.channel.InvokeService.doTask(InvokeService.java:62)
sun.reflect.GeneratedMethodAccessor281.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
com.xxxxxx.tools.sermgr.ServiceManager.doTask(ServiceManager.java:90)
com.xxxxxx.pxgxfrxmx.srv.channel.RequestSubChannel.doTask(RequestSubChannel.java:45)
sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
com.xxxxxx.tools.sermgr.ServiceManager.doTask(ServiceManager.java:90)
com.xxxxxx.pxgxfrxmx.ControlFilter.process(ControlFilter.java:152)
com.xxxxxx.pxgxfrxmx.ControlFilter.doFilter(ControlFilter.java:106)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
org.apache