小编Dra*_*obZ的帖子

将日志级别设置为logging.DEBUG或logging.INFO无效

我正在尝试做一个非常简单的日志记录设置。我只想将所有日志输出发送到终端和日志文件。我在Real Python上找到了以下示例,演示了流和文件日志处理程序的设置:

# logging_example.py

import logging

# Create a custom logger
logger = logging.getLogger(__name__)

# Create handlers
c_handler = logging.StreamHandler()
f_handler = logging.FileHandler('file.log')
c_handler.setLevel(logging.WARNING)
f_handler.setLevel(logging.ERROR)

# Create formatters and add it to handlers
c_format = logging.Formatter('%(name)s - %(levelname)s - %(message)s')
f_format = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
c_handler.setFormatter(c_format)
f_handler.setFormatter(f_format)

# Add handlers to the logger
logger.addHandler(c_handler)
logger.addHandler(f_handler)

logger.warning('This is a warning')
logger.error('This is an error')

## Log Output
# 2019-08-31 22:16:02,478 - __main__ - WARNING - …
Run Code Online (Sandbox Code Playgroud)

python logging python-3.6

3
推荐指数
1
解决办法
7061
查看次数

如何使用 Google Sheets API v4 获取超链接

我正在尝试使用 v4 API ValueRenderOption 参数( )访问超链接valueRenderOption=FORMULA。我尝试过 python 的 gsheets 和 cURL。不管怎样,我似乎无法得到显示超链接的公式。以下是电子表格的屏幕截图;请注意,包含该值的单元格2按预期显示了其公式,但指向https://example.com 的超链接显示为“sup”。我们是否应该有一种新的方式来访问超链接的内容?

在此输入图像描述

g表:

print(worksheet.acell('A2', value_render_option="FORMULA").value)
# sup
Run Code Online (Sandbox Code Playgroud)

卷曲:

URL="https://sheets.googleapis.com/v4/spreadsheets/$SHEET_ID/values/%27Sheet1%27%21A2"
curl -X GET "$URL?valueRenderOption=FORMULA" -H "Authorization: Bearer $TOKEN"

# output
{
  "range": "Sheet1!A1:Z1001",
  "majorDimension": "ROWS",
  "values": [
    [
      "Name",
      "Other"
    ],
    [
      "sup",
      "word"
    ],
    [
      "k",
      100
    ],
    [
      "=AVERAGE(1,2,3)",
      "k"
    ]
  ]
}
Run Code Online (Sandbox Code Playgroud)

google-sheets google-sheets-api

3
推荐指数
1
解决办法
2292
查看次数

枚举 $EnumName 不能表示非枚举值:“$EnumValue”。您的意思是枚举值“$EnumValue”

我正在尝试在解析器上为我的玩具 GraphQL API 创建一个可选过滤器,它使用type-graphql@1.0.0-rc.3class-validator@0.12.0。当我运行似乎矛盾的查询时,我收到此错误消息。我已经非常仔细地遵循了文档中的枚举示例,但我确信我遗漏了一些东西。

这是查询:

{
  authors(
    field: "name",
    op: "CONTAINS",
    value: "Jones"
  ) {
    id,
    name
  }
}
Run Code Online (Sandbox Code Playgroud)

结果:

{
  "error": {
    "errors": [
      {
        "message": "Enum \"FilterType\" cannot represent non-enum value: \"CONTAINS\". Did you mean the enum value \"CONTAINS\"?"
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

和枚举

{
  authors(
    field: "name",
    op: "CONTAINS",
    value: "Jones"
  ) {
    id,
    name
  }
}
Run Code Online (Sandbox Code Playgroud)

还有我的解析器/ArgsType。

{
  "error": {
    "errors": [
      {
        "message": "Enum \"FilterType\" cannot represent non-enum value: …
Run Code Online (Sandbox Code Playgroud)

enums typescript graphql typegraphql

2
推荐指数
1
解决办法
6399
查看次数

Gunicorn 访问日志显示空用户

使用以下命令:

gunicorn --workers=4 my_project.wsgi -b 0.0.0.0:8000 --log-level=info --access-logfile=my_project/logs/gunicorn_logs.txt

我能够记录每个请求。但是,这些日志不包括有关用户的信息:

127.0.0.1 - - [02/Aug/2018:13:46:44 -0500] GET /metrics/data HTTP/1.1 200 1589185 http://localhost:8000/ Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36

默认格式字符串是%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s",如果我正确理解文档,“用户名”应该显示在“推荐人地址”之后和“请求日期”之前。我还在运行命令中包含了该格式字符串,只是为了验证是否发生了同样的事情,并且确实发生了。

我是否可以让 Gunicorn 也记录发出请求的用户?任何帮助,将不胜感激。

这是运行 Gunicorn 19.7.1 和 Django 1.11.9。

django python-3.x gunicorn

1
推荐指数
1
解决办法
616
查看次数