python logger学习

logging 配置文件

[loggers]  
keys=root,simpleExample  

[handlers]  
keys=consoleHandler,fileHandler,rotatingFileHandler,TimedRotatingFileHandler

[formatters]  
keys=simpleFormatter  

[logger_root]  
level=DEBUG  
#handlers=consoleHandler  
#handlers=fileHandler  
handlers=rotatingFileHandler 

[logger_simpleExample]  
level=DEBUG  
#handlers=rotatingFileHandler  
handlers=TimedRotatingFileHandler
qualname=simpleExample  
propagate=0  

[handler_consoleHandler]  
class=StreamHandler  
level=DEBUG  
formatter=simpleFormatter  
args=(sys.stdout,)  

[handler_fileHandler]  
class=FileHandler  
level=DEBUG  
formatter=simpleFormatter  
args=("loggers.log", "a")  
  
[handler_rotatingFileHandler]  
class=handlers.RotatingFileHandler  
level=DEBUG  
formatter=simpleFormatter  
args=("logger.log", "a", 20*1024*1024, 10) 
#(filename,mode='a',maxBytes=0,backupCount=0,encoding=None,delay=0)

[handler_TimedRotatingFileHandler]
class=handlers.TimedRotatingFileHandler
level=INFO
formatter=simpleFormatter
args=('logg.log','S',10,5)
#(filename,when=' h',interval=1,backupCount=0,encoding=None,delay=False,utc=False)

#'S' seconds
#'M' Minutes
#'H' Hours
#'D' Days
#'W' Week day(0=Monday)
#'midnight' Roll over at midnight


[formatter_simpleFormatter]  
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s - [%(filename)s:%(lineno)s]   
datefmt=%y-%m-%d %H:%M:%S  

python代码

#!/usr/bin/python
# -*- coding: utf-8 -*-

import logging    
import logging.config    

logging.config.fileConfig("logging.conf")    # 采用配置文件     

# create logger     
logger = logging.getLogger("simpleExample")    

# # "application" code     
# logger.debug("debug message")    
# logger.info("info message")    
# logger.warn("warn message")    
# logger.error("error message")    
# logger.critical("critical message")  

测试代码

#!/usr/bin/python
# -*- coding: utf-8 -*-

import time
from logger import logger


for i in range(5):
	logger.info('hahh')  
	time.sleep(10)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Pocsuite是一款Python编写的漏洞测试框架,主要用于漏洞扫描、漏洞利用等方面。本文将介绍Pocsuite框架的基本使用方法。 1. 安装Pocsuite Pocsuite可以通过pip安装,执行以下命令即可: ``` pip install pocsuite ``` 2. 编写Poc脚本 Poc脚本就是用来检测漏洞的Python脚本,可以通过继承Pocsuite的父类来编写。一个简单的Poc脚本如下所示: ```python from pocsuite3.api import POCBase, Output, register_poc, logger from pocsuite3.api import requests class ExamplePOC(POCBase): vulID = '' # POC编号 version = '1.0' # 版本号 author = [''] # 作者 vulDate = '' # 漏洞公开时间 createDate = '' # POC创建时间 updateDate = '' # POC更新时间 references = [''] # 参考链接 name = '' # POC名称 appPowerLink = '' # 漏洞厂商主页地址 appName = '' # 漏洞应用名称 appVersion = '' # 漏洞影响版本 vulType = '' # 漏洞类型 desc = '' # 漏洞简介 samples = [''] # 测试样例 def _verify(self): result = {} try: url = self.url # 获取目标url res = requests.get(url, verify=False) # 发送请求 if 'vulnerable' in res.text: # 判断是否存在漏洞 result['VerifyInfo'] = {} # 存储验证结果 result['VerifyInfo']['URL'] = url result['VerifyInfo']['Payload'] = 'N/A' return self.save_output(result) # 返回验证结果 except Exception as e: logger.error(str(e)) return self.save_output(result) def _attack(self): result = {} try: url = self.url # 获取目标url res = requests.get(url, verify=False) # 发送请求 if 'vulnerable' in res.text: # 判断是否存在漏洞 result['VerifyInfo'] = {} # 存储验证结果 result['VerifyInfo']['URL'] = url result['VerifyInfo']['Payload'] = 'N/A' return self.save_output(result) # 返回攻击结果 except Exception as e: logger.error(str(e)) return self.save_output(result) register_poc(ExamplePOC) ``` 在上面的代码中,我们实现了一个简单的Poc脚本,用于检测目标网站是否存在漏洞。在继承`POCBase`类时,需要实现`_verify`方法和`_attack`方法,分别对应漏洞验证和漏洞攻击。 3. 运行Poc脚本 在编写好Poc脚本后,我们可以使用Pocsuite框架来运行它。执行以下命令即可: ``` pocsuite -r poc.py -u http://example.com ``` 其中,`-r`参数指定Poc脚本的路径,`-u`参数指定目标网站的URL。 4. 输出结果 当Poc脚本执行完毕后,会将结果输出到控制台,如下所示: ``` [+] http://example.com is vulnerable! ``` 如果Poc脚本中保存了验证结果或攻击结果,则会输出到当前目录下的`output`文件夹中。 以上就是Pocsuite框架的基本使用方法,希望对你有所帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值