Hi Fred,
I tried all the new options from here
https://code.google.com/p/gwt-log/issues/detail?id=73#c5 and it turns out
that none of them was working for me.
I modifed the init method of
com.allen_sauer.gwt.log.server.RemoteLoggerServiceImpl
here is the init that works:
@Override
public final void init(ServletConfig config) throws ServletException {
super.init(config);
String cwd = "<unknown>";
try {
cwd = new File(".").getCanonicalPath();
} catch (IOException ignore) {
}
deobfuscatorList = new ArrayList<StackTraceDeobfuscator>();
for (@SuppressWarnings("unchecked")
Enumeration<String> e = config.getInitParameterNames();
e.hasMoreElements();) {
String name = e.nextElement();
if (name.startsWith(PARAMETER_SYMBOL_MAPS)) {
String path = config.getInitParameter(name);
File symbolMapsDirectory = new File(path);
// bugfix
// https://code.google.com/p/gwt-log/issues/detail?id=73
if (symbolMapsDirectory.isDirectory()) {
deobfuscatorList.add(new StackTraceDeobfuscator(path));
} else {
URL symbolMapsUrl;
try {
symbolMapsUrl = config.getServletContext().getResource(path);
if (symbolMapsUrl.getProtocol().equalsIgnoreCase("file")) {
symbolMapsDirectory = new File(symbolMapsUrl.getFile());
}
else {
String realPath = getServletContext().getRealPath(path);
symbolMapsDirectory = new File(realPath);
}
}
catch (MalformedURLException e1) {
Log.warn("Servlet configuration parameter '" + name + "'
specifies directory '" + path
+ "' which does not exist or is not relative to your server's
current working directory '" + cwd + "'");
}
if (symbolMapsDirectory.isDirectory()) {
deobfuscatorList.add(new
StackTraceDeobfuscator(symbolMapsDirectory.getAbsolutePath()));
} else {
Log.warn("Servlet configuration parameter '" + name + "'
specifies directory '" + path
+ "' which does not exist or is not relative to your server's
current working directory '" + cwd + "'");
}
}
}
}
if (deobfuscatorList.isEmpty()) {
Log.warn("In order to enable stack trace deobfuscation, please specify
the '"
+ PARAMETER_SYMBOL_MAPS + "' <init-param> for the " +
RemoteLoggerServlet.class.getName()
+ " servlet in your web.xml");
}
accessControlAllowOriginHeader =
config.getInitParameter(ACCESS_CONTROL_ALLOW_ORIGIN);
Log.info("Initialized MyRemoteLoggerServlet");
}
Now I find that remote logging only works with error and fatal messages.
When I set
<inherits name="com.allen_sauer.gwt.log.gwt-log-TRACE" />
I do not get any trace, debug, info, warn messages reported to the server.
They appear in the console but only error and fatal written to server logs.
Is there any option I miss?
Thanks for help Fred.
Am Samstag, 8. März 2014 03:56:32 UTC+1 schrieb Fred Sauer:
>
> There are new options, which you can try out using the jar attached to
> https://code.google.com/p/gwt-log/issues/detail?id=73#c5
>
> You can now specify symbolMapsFileSystem, symbolMapsResourcePath or
> symbolMapsResourceUrl prefixed initialization parameters, depending on your
> setup.
>
> see https://code.google.com/p/gwt-log/wiki/GettingStarted
>
> On Thu Feb 20 2014 at 5:40:56 PM, confile
> <[email protected]<javascript:>>
> wrote:
>
>> I have the same problem with GWT 2.6
>>
>> Am Dienstag, 17. Mai 2011 06:08:46 UTC+2 schrieb Fred Sauer:
>>>
>>> If you step throw the StackTraceDeobfuscator class, you should be able
>>> to figure out what is going on fairly quickly
>>>
>>> On Sun, May 15, 2011 at 11:12 PM, levier <[email protected]> wrote:
>>>
>> - The web.xml looks fine per the guide.
>>>> - the *.symbolmaps files are deployed under that directory
>>>> - the remote gwt logger works ok for normal String output
>>>>
>>>> I guess I'll fetch the gwt log source code and do a debug session on a
>>>> compiled and deployed app on a webserver to get to the bottom of
>>>> this :/
>>>>
>>>>
>>>> On May 13, 6:47 am, Fred Sauer <[email protected]> wrote:
>>>> > Tryhttp://code.google.com/p/gwt-log/wiki/GettingStarted
>>>> >
>>>> > note the comments below:
>>>> >
>>>> > <servlet>
>>>> > <servlet-name>gwt-log-remote-logger-servlet</servlet-name>
>>>> >
>>>> >
>>>> > <servlet-class>com.allen_sauer.gwt.log.server.RemoteLoggerServiceImpl</serv
>>>> >
>>>> let-class>
>>>> >
>>>> > <!-- symbolMaps param provides for stack trace deobfuscation -->
>>>> > <init-param>
>>>> >
>>>> > <param-name>symbolMaps</param-name>
>>>> >
>>>> > <!-- This value assumes a GWT compile with '-deploy
>>>> war/WEB-INF/deploy/' -->
>>>> > <param-value>WEB-INF/deploy/yourmodulename/symbolMaps/</
>>>> param-value>
>>>> >
>>>> > </init-param>
>>>> > </servlet>
>>>> >
>>>> > <servlet-mapping>
>>>> > <servlet-name>gwt-log-remote-logger-servlet</servlet-name>
>>>> >
>>>> > <url-pattern>/your-module-name/gwt-log</url-pattern>
>>>> > </servlet-mapping>
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>>
>>> > On Wed, May 11, 2011 at 9:51 AM, levier <[email protected]>
>>>> wrote:
>>>> > > Hi Fred,
>>>> >
>>>> > > Running gwt log with symbolMaps now for quite a while, but still
>>>> can't
>>>> > > get it to work.
>>>> >
>>>> > > The deployed app is on a websphere:
>>>> > > in ...Node01Cell\APP.ear\module.war\WEB-INF\deploy\module\
>>>> symbolMaps
>>>> > > I do see the D599FD89AA3EAD583144861E01CE8F0F.symbolMap file with a
>>>> > > lot of stuff in that file. So it's compiled and deployed OK.
>>>> >
>>>> > > Yet, I still get to see stuff like this on the client
>>>> > > java.lang.ClassCastException
>>>> > > at Unknown.fillInStackTrace(Unknown source:0)
>>>> > > at Unknown.ClassCastException_0(Unknown source:0)
>>>> > > at Unknown.dynamicCast(Unknown source:0)
>>>> > > at Unknown.onSubmitValues_2(Unknown source:0)
>>>> > > at Unknown.dispatch_21(Unknown source:0)
>>>> > > at Unknown.$doFire(Unknown source:0)
>>>> > > at Unknown.$fireEvent_1(Unknown source:0)
>>>> >
>>>> > > and the gwt-log remote logger gives me this:
>>>> > > Failed to deobfuscate stack trace for permutation
>>>> > > D599FD89AA3EAD583144861E01CE8F0F. Verify that the corresponding
>>>> > > symbolMap is available.
>>>> >
>>>> > > My web.xml param is set to this:
>>>> > > <param-value>WEB-INF/deploy/module/symbolMaps/</param-value>
>>>> >
>>>> > > Standard String logs are sent OK from client to server.
>>>> > > What am I missing? How can I be sure that the deobfuscation process
>>>> > > looks at the right directory? Does the -STYLE of gwtc matter?
>>>> >
>>>> > > Thanks for any hints
>>>> >
>>>> > > --
>>>> > > 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.
>>>> >
>>>> > --
>>>> > 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 gwt-log+u...@
>>> googlegroups.com.
>>
>>
>>> 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 unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>
>
>> To post to this group, send email to [email protected]<javascript:>
>> .
>>
> Visit this group at http://groups.google.com/group/gwt-log.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
--
You received this message because you are subscribed to the Google Groups
"gwt-log" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/gwt-log.
For more options, visit https://groups.google.com/d/optout.