将loguru生成的序列化错误日志推送到mongodb/redis/fluentd等远程存储的包

logger-master的Python项目详细描述


记录器主机

用于将loguru生成的序列化错误日志推送到远程存储的包。

说明:

loguru生成的序列化错误日志推送到远程存储(包括mongodb/redis/fluentd)的包。在

使用方法:

使用MongoDB

  • 参数:
    • Mongou实例(object):mongodb实例
    • mongo_db(str):存储日志数据的数据库
    • mongo_collection(str):存储日志数据的集合
    • 终端显示(bool):是否在终端屏幕上显示日志信息
    • 旋转(str):loguru旋转
    • 序列化(bool):是否序列化数据
    • 日志格式(str):loguru格式
    • log_path(str):存储日志数据的文件路径
    • 自定义函数(function):用于自定义序列化数据的函数
importjsonfrompymongoimportMongoClientfromlogger_master.loggerimportMongoLogger# pushing log to mongodb instancemongo_uri='mongodb://root:root@localhost:27017/?authMechanism=SCRAM-SHA-1'mongo_instance=MongoClient(mongo_uri)# basic usage for pushing log with specific database and collectionlogger=MongoLogger(mongo_instance=mongo_instance,mongo_db='my_log',mongo_collection='my_log_collection')# pushing serialize log to ./my_log/log_filelogger=MongoLogger(mongo_instance=mongo_instance,mongo_db='my_log',mongo_collection='my_log_collection',serialize=True,log_path='./my_log/log_file',rotation='1 week')# disable display log on screenlogger=MongoLogger(mongo_instance=mongo_instance,mongo_db='my_log',mongo_collection='my_log_collection',log_path='./my_log/log_file',terminal_displayed=False)# pushing serialized log with custom formatdefcustom_function(serialized_data):ifnotisinstance(serialized_data,dict):serialized_data=json.loads(serialized_data)serialized_data.update({'new_key':'new_value'})returnserialized_datalogger=MongoLogger(mongo_instance=mongo_instance,mongo_db='my_log',mongo_collection='my_log_collection',custom_func=custom_function)try:100/0exceptExceptionase:logger.error(str(e))

使用Redis

  • 参数:
    • redis_instance(object):redis实例
    • key_prefix(str):redis key的前缀
    • 终端显示(bool):是否在终端屏幕上显示日志信息
    • 旋转(str):loguru旋转
    • 序列化(bool):是否序列化数据
    • 日志格式(str):loguru格式
    • log_path(str):存储日志数据的文件路径
    • 自定义函数(function):用于自定义序列化数据的函数
^{pr2}$

使用Fluentd

  • 参数:
    • 主机名(str):fluentd hostname
    • 端口(int):fluentd端口
    • key_prefix(str):fluentd key的前缀
    • 终端显示(bool):是否在终端屏幕上显示日志信息
    • 旋转(str):loguru旋转
    • 序列化(bool):是否序列化数据
    • 日志格式(str):loguru格式
    • log_path(str):存储日志数据的文件路径
    • 自定义函数(function):用于自定义序列化数据的函数
importjsonfromlogger_masterimportFluentdLogger# pushing log log to fluentd# basic usage for pushing log data to fluentdlogger=FluentdLogger(hostname='localhost',port=24224,key_prefix='mongo')# pushing serialize log to ./my_log/log_filelogger=FluentdLogger(hostname='localhost',port=24224,key_prefix='mongo',serialize=True,log_path='./my_log/log_file',rotation='1 week')# disable display log on screenlogger=FluentdLogger(hostname='localhost',port=24224,key_prefix='mongo',log_path='./my_log/log_file',terminal_displayed=False)# pushing serialized log with custom formatdefcustom_function(serialized_data):ifnotisinstance(serialized_data,dict):serialized_data=json.loads(serialized_data)serialized_data.update({'new_key':'new_value'})returnserialized_datalogger=FluentdLogger(hostname='localhost',port=24224,key_prefix='mongo',custom_func=custom_function)try:1/0exceptExceptionase:logger.error(msg=str(e))

您还可以使用fluent-plugin-mongo将日志推送到fluentd和mongodb。


Buy Me A Coffee

给我买杯咖啡,如果你喜欢的话!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java初学者Swing递归   java将hashmap转换为JSON字符串   cURL和java字符串变量出错   java为什么不将其视为多重继承,而所有类都首先从对象类扩展,然后再扩展其他类   java如何在eclipse中添加插件依赖项   使用java从Ms word表中提取图片   java实现可比较的接口   验证生成的事务时发生java错误。木栓   java@OneToMany和不同的主键   java Jaxb2在相对路径上找不到xsd架构   java客户端C++服务器数据发送/接收问题   javajaxws-webservice。改变节点结构   java如何将带有特殊字符的字符串转换为另一个转义字符串   netbeans如何链接JGraph传感器和Java邮件?   java如何在单个tomcat中检查每个web应用程序的内存大小?   客户端图形QLJava类生成器