Hi Ceki, I considered the possibility of writing a wrapper on my own. But first I would appreciate your advice if that would actually be a reasonable approach. Maybe I am missing something and trying to solve it on the wrong way?
One possibility would be a wrapper that is very similar to your JDK14LoggerAdapter, reusing Appengine's JUL implementation. Another possibility would be a wrapper that calls Appengine API directly, but I am not sure if this is possible. I will do some research and prototyping and let you know if succeeded or not. Best regards, Daniel 2016-03-09 4:37 GMT-03:00 Ceki Gulcu <c...@qos.ch>: > Hi Daniel, > > Do you intend to write this wrapper for Appengine. If so, I would happy be > to reference it from the SLF4J web-site. > > -- > Ceki > > > > On 3/9/2016 4:54, Daniel Felix Ferber wrote: > >> Hi, >> >> I have been wondering why the logger name is missing for application log >> messages on Google Appengine. Instead of the logger name, it displays >> the sourceClassName and sourceMethodName. (Appengine uses its own >> logging framework whose API is identical to JUL). >> >> After extensive research I found [1,2,3] and I infer that Appengine >> converts JUL LogRecords to AppLogLines, which are stored as LogLine JSON >> representation. Note that AppLogLine and LogLine have no 'logger name' >> attribute. I conclude that Appengine lacks the 'logger name' concept on >> its Cloud Platform Log storage. >> >> First, I believe (imho) that logger name is much more significant than >> class and method name. >> Second, as you cannot see the logger name, it gets challenging to >> configure proper log levels to potentially unknown logger names. This >> issue mitigated if there is always one logger per class, named exactly >> as the class FQCN. >> >> I think that SLF4J could aid under Appengine. For example, when adapting >> log message from SLF4J to JUL, instead of calling fillCallerData(fqcn, >> logRecord), it could set sourceMethodName to null and sourceClassName to >> the logger name... Maybe as a wrapper implementation for Appengine? >> >> [1] https://cloud.google.com/appengine/docs/java/logs/ >> [2] >> >> https://cloud.google.com/appengine/docs/java/javadoc/com/google/appengine/api/log/AppLogLine >> [3] https://cloud.google.com/logging/docs/api/ref/rest/v1beta3/LogLine >> > _______________________________________________ > slf4j-user mailing list > slf4j-user@qos.ch > http://mailman.qos.ch/mailman/listinfo/slf4j-user
_______________________________________________ slf4j-user mailing list slf4j-user@qos.ch http://mailman.qos.ch/mailman/listinfo/slf4j-user