[slf4j-user] Missing logger name on Google Appengine
Daniel Felix Ferber
dffforum at gmail.com
Wed Mar 9 03:54:45 UTC 2016
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.qos.ch/pipermail/slf4j-user/attachments/20160309/d4fb04a8/attachment.html>
More information about the slf4j-user
mailing list