#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: 风过无言花易落
# @Date : 2022/02/14 22:30
# @Desc : 进程写Kafka,线程调接口
from confluent_kafka import Producer
import json
import timeit,time,os
from faker import Faker
import multiprocessing as mp
import random
import datetime
import string
import threading
import math
import requests
import logging
import logging.handlers
f = Faker(locale='zh-CN')
class logs(object):
def __init__(self, level, logger=None):
self.logger = logger
self.logger = logging.getLogger(logger)
# 设置输出的等级
LEVELS = {'NOSET': logging.NOTSET,
'DEBUG': logging.DEBUG,
'INFO': logging.INFO,
'WARNING': logging.WARNING,
'ERROR': logging.ERROR,
'CRITICAL': logging.CRITICAL}
# 创建文件目录
logs_dir = "log"
if os.path.exists(logs_dir) and os.path.isdir(logs_dir):
pass
else:
os.mkdir(logs_dir)
# 修改log保存位置
timestamp = time.strftime("%Y-%m-%d", time.localtime())
logfilename = "log-%s.log" % timestamp
logfilepath = os.path.join(logs_dir, logfilename)
rotatingFileHandler = logging.handlers.RotatingFileHandler(filename=logfilepath,
maxBytes=1024 * 1024 * 50,
backupCount=500)
# 设置输出格式
formatter = logging.Formatter('[%(asctime)s] [%(levelname)s] %(message)s', '%Y-%m-%d %H:%M:%S')
rotatingFileHandler.setFormatter(formatter)
# 控制台句柄
console = logging.StreamHandler()
Level = LEVELS.get(level)
console.setLevel(Level)
console.setFormatter(formatter)
# 添加内容到日志句柄中
self.logger.addHandler(rotatingFileHandler)
self.logger.addHandler(console)
self.logger.setLevel(Level)
# 解决重复日志问题
self.logger.handlers = self.logger.handlers[:1]
def info(self, message):
self.logger.info(message)
def debug(self, message):
self.logger.debug(message)
def warning(self, message):
self.logger.warning(message)
def error(self, message):
self.logger.error(message)
class CreateIp(object):
'''
IP随机
'''
def __init__(self):
self.ipv4_prov_prefix = {
'10': ['192.168.169.', '192.168.239.', '192.168.135.'],
'11': ['192.168.197.', '192.168.243.', '192.168.128.', '192.168.165.'],
'13': ['192.168.212.', '192.168.132.', '192.168.166.'],
'17': ['192.168.229.', '112.224.240.', '192.168.142.', '192.168.177.', '192.168.198.', '192.168.200.'],
'18': ['192.168.217.', '192.168.238.', '192.168.133.', '192.168.167.', '192.168.201.', '192.168.202.'],
'19': ['192.168.168.', '192.168.242.', '192.168.241.', '192.168.134.'],
'30': ['192.168.178.', '192.168.244.', '192.168.143.'],
'31': ['192.168.222.', '192.168.237.', '192.168.129.', '192.168.1168.', '192.168.221.'],
'34': ['192.168.176.', '192.168.245.', '192.168.246.', '192.168.232.', '192.168.131.'],
'36': ['192.168.168.', '192.168.144.', '192.168.180.'],
'38': ['192.168.226.', '192.168.145.', '192.168.181.', '192.168.182.'],
'50': [&
python3多进程写Kafka异步线程调用接口
于 2022-02-17 11:43:52 首次发布