python3之初识logging模块
logging使用四步骤
第一步,创建一个logger
logger = logging. getLogger( )
Log等级总开关设定,开关级别从低到高是debug,info,warning
,error,critical,低于设定级别的不被打印,高于的都可以打印
logger. setLevel( logging. DEBUG)
第二步,创建一个handler,用于写入日志文件
fh = logging. FileHandler( logfile, mode= 'w' )
fh. setLevel( logging. DEBUG)
ch = logging. StreamHandler
ch. setLevel( logging. ERROR)
第三步,定义handler的输出格式
fh_formatter = logging. Formatter( "%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s" )
ch_formatter = logging. Formatter% ( asctime) s - % ( levelname) s - % ( message) s)
绑定
fh. setFormatter( fh_formatter)
ch. setFormatter( ch_formatter)
logger. addHandler( fh)
logger. addHandler( ch)
logger. debug( "This is a debug log." )
函数实现
```python
def logmsg ( * args) :
abspath = Create_dirs( )
logger = logging. getLogger( )
logger. setLevel( logging. DEBUG)
ch = logging. StreamHandler( )
ch. setLevel( logging. DEBUG)
logname = 'my.log'
fh = logging. FileHandler( logfile, mode= 'a' )
fh. setLevel( logging. WARNING)
fh_formatter = logging. Formatter( "%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s" )
ch_formatter = logging. Formatter( "%(asctime)s - [line:%(lineno)d] - %(levelname)s: %(message)s" )
ch. setFormatter( ch_formatter)
fh. setFormatter( fh_formatter)
logger. addHandler( ch)
logger. addHandler( fh)
return logger
logger = logmsg( )
if __name__== "__main__" :
logger. warning( 'hao' )
[class-实现log输出到控制台和文件中](https://www.cnblogs.com/wang-mengmeng/p/11388435.html)