[slf4j-user] Missing logger name on Google Appengine

Ceki Gulcu ceki at qos.ch
Wed Mar 9 14:52:34 UTC 2016



I think JDK14LoggerAdapter is the place to start. As I am not familiar 
with Appengine logging I am afraid I can't help much.

On 3/9/2016 14:18, Daniel Felix Ferber wrote:
> 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 <ceki at qos.ch <mailto:ceki at 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 at qos.ch <mailto:slf4j-user at qos.ch>
>     http://mailman.qos.ch/mailman/listinfo/slf4j-user
>
>
>
>
> _______________________________________________
> slf4j-user mailing list
> slf4j-user at qos.ch
> http://mailman.qos.ch/mailman/listinfo/slf4j-user
>


More information about the slf4j-user mailing list