如何解决Python有条件地记录到不同的目的地
我正在Python 3.8中使用logging
登录到文件并sysout
当前,日志同时进入文件和sysout。但是我想有条件地登录到其中任何一个。
我当前的代码是:
logpath = constants.LOGS_LOCATION
fileHandler = RotatingFileHandler(logpath,maxBytes = 500000,backupCount = 10)
localLogFormatter = logging.Formatter("%(asctime)s [%(levelname)s] %(filename)s - %(funcName)s - %(message)s")
fileHandler.setFormatter(localLogFormatter)
stdoutHandler = logging.StreamHandler(sys.stdout)
formatter = MyJsonFormatter()
stdoutHandler.setFormatter(formatter)
logging.root.handlers = []
logging.basicConfig(
level=logging.INFO,handlers=[
fileHandler,stdoutHandler
]
)
所以当我这样做时:
logging.info("goes to both file and sysout")
以上内容同时适用于文件和sysout,但是我希望根据我的业务需求将日志记录到文件或sysout。
我该如何实现?是否可以通过参数设置或其他记录器完成?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。