logz-logger fácil de usar

logz-logger fácil de usar

uso fácil para iniciar sesión con información adicional

Caracteristicas

  • muy facil de usar
  • cambio del nombre del archivo de registro desde la fecha
  • DayRottingLogger
  • campos extra seguros
  • registrar varios vars y no solo str
  • registro multilínea y sangría para json
  • depurar como nivel predeterminado

Instalar en pc

$ pip install logz

Utilizar

Uso simple

from logz import log
log.debug('debug msg')
log.info('info msg')
log.warning('warning msg')
log.error('error msg')
log.critical('critical mst')
try:
    assert 0
except AttributeError as ex:
    log.exception(ex)

salida:

2019-12-12 22:39:43,584 DEBUG debug msg
2019-12-12 22:39:43,584 INFO info msg
2019-12-12 22:39:43,584 WARNING warning msg
2019-12-12 22:39:43,585 ERROR error msg
2019-12-12 22:39:43,585 CRITICAL critical mst
Traceback (most recent call last):
  File "/Users/apple/Documents/Projects/logz/logz/__init__.py", line 199, in <module>
    assert 0
AssertionError

registrar múltiples vars una vez

a = 'hello'
b = 1
c = [2]
d = {'name': 'kevin'}
log.info(a,b,c,d)

salida:

2019-12-12 22:40:20,221 INFO hello 1 [2] {'name': 'kevin'}

Nota: Cambie el formulario args que admite el formato% s a varios vars
si desea usar algo como:

import logging
logging.info('name=%s,age=%d', 'kevin',18)

Usted puede usar como a continuación:

form logz import log
log.info('name=%s,age=%d' % ('kevin',18))

salida:

2019-12-12 22:41:58,024 INFO name=kevin,age=18

Unido al expediente

log.file='logs/project.log'

Nota: el directorio de registros debe existir

Por defecto es un archivo podrido y maxBytes = 10240 y backUps = 5

iniciar sesión en un archivo con cambios de nombre con fecha

log.file='logs/%Y-%m-%d.log'

Y es un archivo podrido

cambiar el nivel de registro

log.level = 'info'
log.level = 20
log.debug('not show')
log.info('show info')

salida:

2019-12-12 22:43:24,479 INFO show info

la cadena de nivel no distingue entre mayúsculas y minúsculas

cambiar el formato de registro

log.format = '%(asctime)s %(levelname)s %(name)s %(message)s'

con campos extra

log.format = '%(asctime)s %(levelname)s %(user)s %(message)s'
log.info('hello with no user')
log.info('hello with kevin', extra={'user': 'kevin'})

salida:

2019-12-12 22:45:18,604 INFO None hello with no user
2019-12-12 22:45:18,604 INFO kevin hello with kevin

multilínea y sangría para dict

log.info({'foo': 'bar'}, indent=2)

salida:

2019-12-09 19:30:16,419 DEBUG log None ->
{
  "foo": "bar"
}

todo

  • archivo de registro para configurar maxBytes o de lo contrario
  • iniciar sesión en html
  • iniciar sesión en el correo electrónico
  • iniciar sesión en db
  • log diff
  • iniciar sesión
  • impresión de registro
  • iniciar sesión en el servidor utilizando websocket
  • más decoradores como @explain @exception @timeit @email
  • apoyo verbosidad

Loco

  • logit no admite el método de instancia

Supongo que te gusta

Origin www.cnblogs.com/superhin/p/12737843.html
Recomendado
Clasificación