设置日志输出方式

设置日志打印到屏幕同时保存到文件


./testscripts.sh 2>&1 | tee -a $logfile

0、1和2分别表示标准输入、标准输出和标准错误信息输出;


tee 命令详解

功能说明:

读取标准输入的数据,并将其内容输出成文件。

语  法:

tee [-ai][--help][--version][文件...]

补充说明:

tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。

参  数:
-a或--append  附加到既有文件的后面,而非覆盖它.
-i-i或--ignore-interrupts  忽略中断信号。
--help  在线帮助。
--version  显示版本信息。
可以使用 Python logging 模块的 `handlers` 来设置日志输出方为 stream 和 file。同时,可以使用 `TimedRotatingFileHandler` 来设置日志的分隔方。 下面是一个示例代码,同时将日志输出到控制台和文件中,并设置每天生成一个新的日志文件,保留历史日志文件的天数为 7 天: ```python import logging from logging.handlers import TimedRotatingFileHandler # 创建一个日志记录器 logger = logging.getLogger("mylogger") logger.setLevel(logging.DEBUG) # 创建控制台日志输出 console_handler = logging.StreamHandler() console_handler.setLevel(logging.DEBUG) formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s") console_handler.setFormatter(formatter) logger.addHandler(console_handler) # 创建文件日志输出 file_handler = TimedRotatingFileHandler("mylog.log", when="D", interval=1, backupCount=7, encoding="utf-8") file_handler.setLevel(logging.DEBUG) file_handler.setFormatter(formatter) logger.addHandler(file_handler) # 输出日志信息 logger.debug("This is a debug log.") logger.info("This is an info log.") logger.warning("This is a warning log.") logger.error("This is an error log.") logger.critical("This is a critical log.") ``` 在这个示例代码中,我们首先创建了一个日志记录器 `logger`,并将其级别设置为 `DEBUG`。然后,我们分别创建了一个控制台日志输出 `console_handler` 和一个文件日志输出 `file_handler`。其中,文件日志输出使用了 `TimedRotatingFileHandler`,设置日志文件的分割方为每天一个文件,保留历史日志文件的天数为 7 天。 最后,我们输出了不同级别的日志信息,并通过控制台和文件两个日志输出方将其同时记录下来。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值