make 输出 log 文件

博客给出了一条信息技术相关命令“make >FILENAME 2>&1”,此命令可将make命令的输出重定向到指定文件。
 make >FILENAME 2>&1
Python将日志输出文件有多种实现方法: - **利用`sys.stdout`重定向**:可以将`print`输出的内容重定向到日志文件。示例代码如下: ```python import sys import os import time time_str = time.strftime('%Y%m%d%H%M%S') log_file = "Output" + time_str class Logger(object): def __init__(self, filename=log_file): self.terminal = sys.stdout self.log = open(filename, "a") def write(self, message): self.terminal.write(message) self.log.write(message) def flush(self): pass sys.stdout = Logger(log_file) print(os.path.dirname(__file__)) print('------------------') var1 = 'hello' var2 = 'world' print('var1:%s\nvar2: %s\n' % (var1, var2)) ``` 此代码通过自定义`Logger`类,将`sys.stdout`重定向,使`print`输出同时显示在终端和写入日志文件中[^1]。 另一个使用`sys.stdout`重定向的简单示例: ```python import sys # make a copy of original stdout route stdout_backup = sys.stdout # define the log file that receives your log info log_file = open("message.log", "w") # redirect print output to log file sys.stdout = log_file print("Now all print info will be written to message.log") # any command line that you will execute ... log_file.close() # restore the output to initial pattern sys.stdout = stdout_backup print("Now this will be presented on screen") ``` 该示例先备份原始的`sys.stdout`,将其重定向到日志文件,执行`print`操作后再恢复到原始输出方式[^2]。 - **利用`logging`模块**:这是一种规范化日志输出的方式,自Python 3.2起,引入了新的基于键值对的配置方式,配置文件非常灵活,可以使用XML、YAML、JSON等格式存储配置,也可以从网络上接收序列化的Python对象当做配置对象。同时可以自定义日志格式,例如: ```python import logging formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s") ``` 通过`logging.Formatter`可以定义日志的输出格式,如包含时间、文件名、行号、日志级别和日志信息等内容[^3][^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值