项目怎么写日志

日志格式

log.info(" yn - 【日志中文说明】-【类名.方法名】-【param(入参变量1,入参变量2):】{},{} -【res(结果变量):{}】" ,入参变量1,入参变量2,结果变量);

log.error(" yn - 【日志r中文说明】-【类名.方法名】-【param(入参变量1,入参变量2):】{},{} 】" ,入参变量1,入参变量2,e);

说明:

  • yn : 个人标识,线上测接口,直接当做过滤条件,快速找出相关日志。
  • 类名.方法名:方便直接定位代码

日志心得

1.日志参数和结果写在一行:避免高并发场景下入参日志和结果日志并不相邻
2.日志的作用:帮助定位问题,在关键的地方打就行,日志不在于多,日志多也会影响代码性能, 能快速解决问题的就是好日志。
3.日志场景:调用rpc方法拿到业务所需数据。
调用rpc时写日志打出所有信息。
业务方法中打出业务需要的信息,避免rpc中数据太多,不好定位。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Python Web 项目中,多进程日志需要考虑多个进程同时入同一个文件的问题。为了避免不同进程之间的入操作互相干扰,可以使用 Python 标准库中的 `logging` 模块,并将日志输出到不同的文件中。 下面是一个示例代码: ```python import logging import multiprocessing import os def process_task(): # 设置日志输出格式 log_format = '%(asctime)s %(levelname)s %(processName)s %(message)s' logging.basicConfig(level=logging.INFO, format=log_format) # 获取当前进程 ID process_id = os.getpid() # 创建一个 FileHandler 对象,并指定日志输出文件 file_handler = logging.FileHandler(f'log_{process_id}.txt') file_handler.setLevel(logging.INFO) file_handler.setFormatter(logging.Formatter(log_format)) # 将 FileHandler 添加到 logger 对象中 logger = logging.getLogger() logger.addHandler(file_handler) # 日志信息 logger.info('This is a log message from process %d.', process_id) if __name__ == '__main__': # 创建多个进程 processes = [] for i in range(5): p = multiprocessing.Process(target=process_task) processes.append(p) p.start() # 等待所有进程完成 for p in processes: p.join() ``` 在上面的代码中,我们首先定义了一个 `process_task` 函数,该函数会在每个进程中被调用。在 `process_task` 函数中,我们首先设置了日志输出的格式,然后获取当前进程 ID,创建了一个 `FileHandler` 对象,并将其添加到 `logger` 对象中。最后,我们使用 `logger` 对象入了一条日志信息。 在 `__main__` 函数中,我们创建了 5 个进程,并等待所有进程完成。在每个进程中,都会执行 `process_task` 函数,并将日志输出到不同的文件中。 这样,我们就可以在多进程的 Python Web 项目中,实现日志的并发入了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值