如何在Google Cloud上查看日志消息?:https://console.cloud.google.com/logs
这是我在运行dev_appserver.py(本地运行)时在终端中看到的:
INFO 2016-05-16 14:00:45,118 module.py:787] default: "GET /static/images/contact.png HTTP/1.1" 304 -
INFO 2016-05-16 14:00:45,128 module.py:787] default: "GET /static/images/email.png HTTP/1.1" 304 -
INFO 2016-05-16 14:00:45,136 module.py:787] default: "GET /static/images/phone.png HTTP/1.1" 304 -
INFO 2016-05-16 14:00:45,487 basehandler.py:19] entering basehandler.py
INFO 2016-05-16 14:00:45,516 module.py:787] default: "GET /static/images/logo-349x209.png HTTP/1.1" 304 -
INFO 2016-05-16 14:00:45,562 requesthandlers.py:26] entering requesthandlers.py
INFO 2016-05-16 14:00:45,563 app.py:28] entering app.py
INFO 2016-05-16 14:00:45,563 app.py:198] Using development database
将显示应用程序日志消息和请求日志记录。
但是,当我查看部署的相同代码的日志时,我只能看到正在记录的请求:
我用来生成应用程序日志消息的代码如下:
import logging
logger = logging.getLogger("someLogger")
logger.info("entering app.py")
但我也尝试过直接使用<code>logging.info(…)
我试图在各种资源中找到这个问题的答案,但是我一无所获,大多数都是关于如何在本地开发时设置日志级别。< br >我想我需要启用一些设置才能在Google Cloud Logs上查看应用程序日志。
我看过的资源:
将Google Cloud Platform日志记录集成到Python代码中的一个简单方法是从< code >日志记录创建一个子类。StreamHandler。这样,日志记录级别也将与Google Cloud日志记录的级别相匹配,使您能够根据严重性进行过滤。这个解决方案也适用于云运行容器。
此外,您可以将该处理程序添加到任何现有的日志配置中,而无需更改当前的日志记录代码。
import json
import logging
import os
import sys
from logging import StreamHandler
from flask import request
class GoogleCloudHandler(StreamHandler):
def __init__(self):
StreamHandler.__init__(self)
def emit(self, record):
msg = self.format(record)
# Get project_id from Cloud Run environment
project = os.environ.get('GOOGLE_CLOUD_PROJECT')
# Build structured log messages as an object.
global_log_fields = {}
trace_header = request.headers.get('X-Cloud-Trace-Context')
if trace_header and project:
trace = trace_header.split('/')
global_log_fields['logging.googleapis.com/trace'] = (
f"projects/{project}/traces/{trace[0]}")
# Complete a structured log entry.
entry = dict(severity=record.levelname, message=msg)
print(json.dumps(entry))
sys.stdout.flush()
配置和使用处理程序的一种方法是:
def get_logger():
logger = logging.getLogger(__name__)
if not logger.handlers:
gcp_handler = GoogleCloudHandler()
gcp_handler.setLevel(logging.DEBUG)
gcp_formatter = logging.Formatter(
'%(levelname)s %(asctime)s [%(filename)s:%(funcName)s:%(lineno)d] %(message)s')
gcp_handler.setFormatter(gcp_formatter)
logger.addHandler(gcp_handler)
return logger
应用引擎按请求对日志进行分组。您需要在“新”GAE日志查看器中使用请求左侧的三角形/指针展开日志。
就个人而言,我更喜欢使用旧的GAE日志查看器,但我不确定它会存在多长时间:
https://appengine.google.com/logs?app_id=s~xxx
(此查看器显示请求日志并允许日志扩展。)
我想玩动作过滤器创建和实施ETag的动作过滤器,并使HomeController从mvc 4模板缓存10秒。 以下是我的属性: 这是HomeController: 它已编译并运行,但在Chrome开发工具网络中- 请求URL: http://: 1772/Home/关于请求方法: GET状态码: 200 OK请求Headersview源接受: text/html,应用程序/xhtml xml,应用
我使用NetBeans7.3在Tomcat上部署WebApplication。当我运行/部署应用程序时,我可以在输出窗口中看到服务器日志和“Apache Tomcat日志”。 但是在我的应用程序中,我用log4j指定了另一个日志文件,仅用于我的应用程序日志。 我怎样才能像直接在NetBeans中看到其他日志输出一样看到我的应用程序的日志呢? 我的log4j有一个附加日志的规范--所以我的类的所有警
问题内容: 我可以在路径 上看到所有hadoop日志 但是我在哪里可以看到应用程序级别的日志?例如 : 映射器 reducer.py 我在哪里可以看到我的应用程序或相关的日志语句? 我正在使用 谢谢 问题答案: Hadoop流使用STDIN / STDOUT 在映射器和化简器之间传递键/值对,因此必须将日志消息写入特定的日志文件- 有关更多详细信息,请查看示例代码和python日志记录文档。该查询
我从头开始使用react-native创建了一个简单的注册表单。我现在使用'react-native init login'来放置我需要使用console.log的验证,但我无法查看它们。我尝试了一些调试链接,但无法查看日志。我正在使用Ubuntu15.10好心的帮助。:)
我有一个Spring Boot应用程序,我在pom中定义了我的thymeleaf依赖项。包含以下行的xml: 因此,当我启动应用程序并打印预定义的bean名称时,我会看到这些bean(我认为这对thymeleaf正常运行很重要): 模板引擎 thymeleafResourceResolver thymeleafViewResolver 项目结构如下所示: 我在fragments.html中定义了一
好吧,我已经受够了一个星期了。我无法在WAS控制台或日志文件中查看spring日志/castor日志。我在Tomcat中也能做到这一点。我通过在线搜索尝试了大多数方法。但没有任何帮助。我使用的是IBM WAS-7.0.0.11 这是我的log4j。财产。 log4j。阿佩德。console=org。阿帕奇。log4j。控制台Pender log4j。阿佩德。安慰布局=组织。阿帕奇。log4j。图案