You can use the RemoteLogger to send those log messages to the server and on the server you can log to a file. The browser does not have direct file system access.
- In your .gwt.xml, turn on the RemoteLogger. - Log as normal using Log.debug() etc. - On the server configure log4j via gwt-log to log to a file. On Fri, Jul 9, 2010 at 5:05 AM, alex <[email protected] > wrote: > Hi Fred, > > Ive a problem with clientside logging into a file. > Nothing is getting logged into my file, but all of the client messages > apearing on my console. > I've defined both file and console appender in my log4j.xml. > > Im not sure if this is a gwt-lig or a log4j problem. > Maybe you can tell me. > > Thank you. > > I'm getting following error: > > log4j:WARN Error during default initialization > java.lang.NoClassDefFoundError: java.io.FileOutputStream is a > restricted class. Please see the Google App Engine developer's guide > for more details. > at > > com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java: > 51) > at org.apache.log4j.FileAppender.setFile(FileAppender.java:290) > at > org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java: > 194) > at org.apache.log4j.FileAppender.activateOptions(FileAppender.java: > 164) > at > org.apache.log4j.config.PropertySetter.activate(PropertySetter.java: > 257) > at > org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java: > 285) > at > > org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java: > 171) > at > > org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java: > 184) > at > > org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java: > 502) > at > org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java: > 471) > at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java: > 921) > at > org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java: > 790) > at > org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java: > 696) > at > > org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java: > 471) > at org.apache.log4j.LogManager.<clinit>(LogManager.java:125) > at org.apache.log4j.Logger.getLogger(Logger.java:105) > at > > com.allen_sauer.gwt.log.server.ServerLogImplLog4J.<init>(ServerLogImplLog4J.java: > 30) > at com.allen_sauer.gwt.log.client.Log.tryLog4J(Log.java:289) > at com.allen_sauer.gwt.log.client.Log.<clinit>(Log.java:58) > at > > com.allen_sauer.gwt.log.server.RemoteLoggerServiceImpl.log(RemoteLoggerServiceImpl.java: > 38) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > > com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java: > 100) > at > com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java: > 562) > at > > com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java: > 188) > at > > com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java: > 224) > at > > com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java: > 62) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: > 511) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1166) > at > > com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java: > 51) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1157) > at > > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: > 43) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1157) > at > > com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java: > 122) > 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 > > com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java: > 70) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: > 152) > at com.google.appengine.tools.development.JettyContainerService > $ApiProxyHandler.handle(JettyContainerService.java:349) > 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.content(HttpConnection.java:938) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: > 409) > at org.mortbay.thread.QueuedThreadPool > $PoolThread.run(QueuedThreadPool.java:582) > > -- > You received this message because you are subscribed to the Google Groups > "gwt-log" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<gwt-log%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/gwt-log?hl=en. > > -- Fred Sauer Developer Advocate Google Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043 [email protected] -- You received this message because you are subscribed to the Google Groups "gwt-log" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/gwt-log?hl=en.
