smellyarmpits
smellyarmpits

Reputation: 1120

Google App Engine Logging in NodeJS

I can't find much on logging onto Google App Engine using Flexible environment and NodeJS.

As the docs says, one is able to write its own logging messages using the standard stdout and stderr. But this is simple logging, and I would like to have something a little bit more refined.

In particular, the Log Views in Google Cloud Platform Console allows the user to filter logs on their severity levels:

  1. Critical
  2. Error
  3. Warning
  4. Info
  5. Debug
  6. Any log level

I would like to find a way to use those levels in my applications, so that I can read logs much better.

By default, if I print to stdout using console.log() the logs will only appear if I filter by "Any log level", and I have no option to select a severity level.

I have tried to use winston-gae as reported on the docs, but without any success. Maybe I have configured it wrong?

To be more clear, I would like to be able to do something like this in Python (source):

import logging
import webapp2
class MainPage(webapp2.RequestHandler):
    def get(self):
        logging.debug('This is a debug message')
        logging.info('This is an info message')
        logging.warning('This is a warning message')
        logging.error('This is an error message')
        logging.critical('This is a critical message')
        self.response.out.write('Logging example.')

app = webapp2.WSGIApplication([
    ('/', MainPage)
], debug=True)

Upvotes: 0

Views: 1086

Answers (1)

Steren
Steren

Reputation: 7909

I would recommend to look at the Google Cloud Node.js client library, that can help you call the Stackdriver Logging API in order to log structured log entries: https://github.com/GoogleCloudPlatform/google-cloud-node#google-stackdriver-logging-beta

Upvotes: 1

Related Questions