python应用程序更改日志记录级别

时间:2018-08-23 00:17:00

标签: python database logging

我有一个python软件包,日志记录级别设置如下(在app.py中)。

SELECT 
CAST((CASE
  WHEN CHARINDEX('$', Id) > 0
  THEN RIGHT(Id, CHARINDEX('$', REVERSE(Id)) - 1)
  ELSE Id
  END
) AS INT) AS Id,
Firstname, Lastname,
(CASE
  WHEN CHARINDEX('$', Address) > 0
  THEN RIGHT(Address, CHARINDEX('$', REVERSE(Address)) - 1)
  ELSE Address
  END
) AS Address,
(CASE
  WHEN CHARINDEX('$', City) > 0
  THEN RIGHT(City, CHARINDEX('$', REVERSE(City)) - 1)
  ELSE City
  END
) AS City
FROM (

SELECT A.Firstname, A.Lastname, 
STUFF((
  SELECT '$' + CAST(B.Id AS VARCHAR)
  FROM test B 
  WHERE B.Firstname = A.Firstname
  AND
  B.Lastname = A.Lastname
  For XML Path('')),1,1,'') AS Id,
STUFF((
  SELECT '$' + B.Address
  FROM test B 
  WHERE B.Firstname = A.Firstname
  AND
  B.Lastname = A.Lastname
  For XML Path('')),1,1,'') AS Address,
STUFF((
  SELECT '$' + B.City
  FROM test B 
  WHERE B.Firstname = A.Firstname
  AND
  B.Lastname = A.Lastname
  For XML Path('')),1,1,'') AS City
FROM test A  
GROUP BY A.Firstname, A.Lastname
) T

我通常会从app.py导入此模块DbApp并直接运行它。由于此软件包是使用pip安装的,因此我不想更改文件中的日志记录级别。

如何从主程序更改为设置日志记录级别?

logger = logging.getLogger('app')
logger.handlers = []
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.ERROR)

logging.getLogger("requests").setLevel(logging.WARNING)

1 个答案:

答案 0 :(得分:1)

我相信您可以使用setLevel API动态设置日志记录级别。 例如:logger.setLevel(logging.DEBUG)

有关更多信息,请参阅:https://docs.python.org/2/library/logging.html

希望有帮助。