이 질문을 전에 보았습니다. 해결할 수없는 것 같습니다. 현재 Google App Engine은 java.util.logging.Logger의 하위 클래스를 지원하지 않습니다. 내 CRM에 연락처를 입력하려면 Base CRM API (여기 정보 : https://github.com/basecrm/basecrm-java)를 사용하는 Java 끝점에 일부 코드가 있습니다. 이것은 테스트를 위해 locahost 환경에서 사용할 때 예상대로 작동하지만, 기본 API가 수행하는 로깅을 좋아하지 않으면 영향을받습니다. 여기Google App Engine Java 로깅, 특히 Slf4j
java.lang.SecurityException: Google App Engine does not support subclasses of java.util.logging.Logger: com/getbase/http/jersey/HttpClient$Slf4jAdapter
at com.google.appengine.runtime.Request.process-bbdc1f6d27729bc9(Request.java)
at java.lang.ClassLoader.loadClass(ClassLoader.java:375)
at com.getbase.http.jersey.HttpClient.<init>(HttpClient.java:31)
at com.getbase.Client.<init>(Client.java:34)
at com.nicholas.leadsbackend.LeadsServlet.sendToBase(LeadsServlet.java:90)
at com.nicholas.leadsbackend.LeadsServlet.doPost(LeadsServlet.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:453)
at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:460)
at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:293)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:319)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:311)
at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:457)
at java.lang.Thread.run(Thread.java:745)
기지로 전송 내 엔드 포인트의 코드입니다 : : 여기 GAE에서 점점 오전 오류입니다
Client client = new Client(new Configuration.Builder()
.accessToken(BASECRM_ACCESS_TOKEN)
.verbose()
.build());
Contact contact = new Contact();
contact.setName(name);
contact.setPhone(phone);
contact.setEmail(email);
contact.setDescription("Make/Model/Year: " + make + "\n" +
"Type of Ad: " + adType);
client.contacts().create(contact);
이 API 코드는 매우 간단한 코드입니다, 여기에 문제가되지 않습니다 . 내 문제는 CRM API가이 종속성을 필요로한다는 것입니다. compile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.21'
이 제대로 작동하지 않거나 오류가 발생합니다.
GAE를 해결할 방법이 있는지 알려주십시오. 다른 옵션에는 엄격한 로깅 규칙이 없을 수도 있으므로 GAE 이외의 다른 옵션을 찾고 있습니다. 이 API는 나에게 문제가되는 특수한 시나리오이기 때문에 특별한 경우이지만 이해가 매우 도움이 될 것입니다. 미리 감사드립니다!