andersen 0.0.1

Last updated:

0 purchases

andersen 0.0.1 Image
andersen 0.0.1 Images
Add to Cart

Description:

andersen 0.0.1

Andersen
一个Python的日志库的封装
使用方式
安装
pip install andersen

代码使用
直接使用
import andersen


andersen.debug('debug')
andersen.info('info')
andersen.warn('warn')
andersen.error('error')

系统自带了一个输出到控制台的handler,日志级别为info,因此上边的代码会输出:

自定义配置
可以自己指定配置的文件,有两种指定方式:环境变量和函数指定
指定环境变量
import os
os.environ.setdefault('ANDERSEN_CONFIG', 'log_config.toml')
# 必须在导入前设置环境变量
import andersen
andersen.debug('debug')
andersen.info('info')
andersen.warn('warn')
andersen.error('error')

函数加载
import andersen
andersen.init('log_config.toml')

andersen.debug('debug')
andersen.info('info')
andersen.warn('warn')
andersen.error('error')

目前只支持toml的自定义配置文件,示例文件如下
[log.common]
# 可选参数
name = "common"

# 必要参数
level = "info"

# 可选参数,这里如果配置的话则handler处没有配置的话会到这里查找。如果都找不到则会抛出异常
format = "[%(asctime)s] [%(levelname)s] %(message)s"

# 输出到控制台的配置
[[log.common.handlers]]
type = "std"
# 可选参数
format = "%(asctime)s %(levelname)s %(message)s"
level = "info"

# 输出到文件的配置
[[log.common.handlers]]
type = "file"
# 可选参数
format = "%(asctime)s %(levelname)s %(message)s"
level = "info"

# 必要参数
log_file = "log/common.log"

# 输出到按大小迭代的文件的配置
[[log.common.handlers]]
type = "rotate"
# 可选参数
format = "%(asctime)s %(levelname)s %(message)s"
level = "info"

# 必要参数
log_file = "log/common1.log"
max_bytes = 1024

# 输出到按时间迭代的文件的配置
[[log.common.handlers]]
type = "time_rotate"
# 可选参数
format = "%(asctime)s %(levelname)s %(message)s"
level = "info"

# 必要参数
log_file = "log/common2.log"
when = 'h'

# 如果需要配置另一个,修改log后边的key名称即可,然后需要配置哪些类型的handler,从上边复制后修改即可
[log.sample]
name = "sample"
level = "debug"
format = "[%(asctime)s] [%(levelname)s] %(message)s"

# 输出到控制台的配置
[[log.sample.handlers]]
type = "std"
# 可选参数
format = "%(asctime)s %(levelname)s %(message)s"
level = "debug"

相关函数
日志配置
init(conf=None, default_logger='common')

初始化函数。可重复调用,只会实际执行一次。

conf 如果为None则从环境变量读取配置文件,如果不存在则使用默认配置,即创建一个输出到控制台的日志对象
default_logger 初始化后默认使用的日志对象

generate_sample_config(filename)

将示例配置写入一个toml文件。写入内容见上文

filename 目标文件

get_logger(key='common')

获取日志对象。key必须在配置文件里已经定义。返回的是一个python的logging.Logger对象

key 日志的key值,即配置中log后边所跟的参数,默认是common

日志输出
debug(*args, **kwargs)

输出调试信息。kwargs中可选参数

logger 要使用哪个日志输出信息,未指定的话使用默认日志输出
sep 默认分隔符,如果指定该参数那么下边三个参数的默认值是该值
list_sep 列表分隔符,即使用该参数连接参数args
para_sep 参数分隔符,即使用该参数连接args和kwargs生成的字符串
dict_sep 字典分隔符,即使用该参数连接参数kwargs

info(*args, **kwargs)

输出信息。kwargs中可选参数

logger 要使用哪个日志输出信息,未指定的话使用默认日志输出
sep 默认分隔符,如果指定该参数那么下边三个参数的默认值是该值
list_sep 列表分隔符,即使用该参数连接参数args
para_sep 参数分隔符,即使用该参数连接args和kwargs生成的字符串
dict_sep 字典分隔符,即使用该参数连接参数kwargs

warn(*args, **kwargs)

输出警告信息。kwargs中可选参数

logger 要使用哪个日志输出信息,未指定的话使用默认日志输出
sep 默认分隔符,如果指定该参数那么下边三个参数的默认值是该值
list_sep 列表分隔符,即使用该参数连接参数args
para_sep 参数分隔符,即使用该参数连接args和kwargs生成的字符串
dict_sep 字典分隔符,即使用该参数连接参数kwargs

error(*args, **kwargs)

输出错误信息。kwargs中可选参数

logger 要使用哪个日志输出信息,未指定的话使用默认日志输出
sep 默认分隔符,如果指定该参数那么下边三个参数的默认值是该值
list_sep 列表分隔符,即使用该参数连接参数args
para_sep 参数分隔符,即使用该参数连接args和kwargs生成的字符串
dict_sep 字典分隔符,即使用该参数连接参数kwargs

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.