Skip to content

Instantly share code, notes, and snippets.

@BuckyI
Last active June 26, 2023 11:55
Show Gist options
  • Save BuckyI/11adfb96aa99c1b5432bc5b3a6a655e4 to your computer and use it in GitHub Desktop.
Save BuckyI/11adfb96aa99c1b5432bc5b3a6a655e4 to your computer and use it in GitHub Desktop.
logging
import logging
# 创建一个输出到本地的 Handler
# 首先通过 basicConfig 赋予 rootLogger 一个 StreamHandler
# 然后自定义一个 FileHandler 赋予 rootLogger
# 为什么不自定义一个 StreamHandler 再赋予 rotLogger 是因为感觉这样省事
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s - %(levelname)s: %(message)s')
handler = logging.FileHandler("logname.log")
handler.setLevel(logging.INFO)
handler.addFilter(lambda s: "Trigger" in s.msg) # s: LogRecord
handler.setFormatter(
logging.Formatter('%(asctime)s - %(levelname)s: %(message)s'))
rootLogger = logging.getLogger()
rootLogger.addHandler(handler) # add handler to root logger
def add_handler():
"部分图片处理 log 输出到本地文件"
name = "Image Info to File Log"
if name in [h.name for h in logging.root.handlers]:
return # 已经存在了就不重复添加
handler = logging.FileHandler("images_change.log")
handler.set_name(name)
handler.setLevel(logging.INFO)
handler.addFilter(lambda s: "[RENAME]" in s.msg) # msg 含 RENAME 时,保存到文件
handler.setFormatter(logging.Formatter('%(asctime)s : %(message)s'))
logging.root.addHandler(handler) # add handler to root logger
logging.debug("add log handler '%s' to '%s'", handler.name,
logging.root.name)
from logging import getLogger, FileHandler, StreamHandler, INFO, basicConfig
basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[FileHandler('log.txt'), StreamHandler()],
level=INFO)
LOGGER = getLogger(__name__)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment