Skip to content

Instantly share code, notes, and snippets.

@johannesl
Last active January 9, 2023 08:56
Show Gist options
  • Save johannesl/8f67c671eca174c1d37257507aeb808f to your computer and use it in GitHub Desktop.
Save johannesl/8f67c671eca174c1d37257507aeb808f to your computer and use it in GitHub Desktop.
Example of how to log one file per day to /var/log with Python 3
#!/usr/bin/env python3
from logging import getLogger, Formatter
from logging.handlers import TimedRotatingFileHandler
from os.path import basename
def daylogger( name ):
logger = getLogger( name )
logger.setLevel( 'INFO' )
handler = TimedRotatingFileHandler(
'/var/log/%s/%s.log' % ( basename( name ), basename( name ) ),
when='midnight',
interval=1,
backupCount=7
)
fmt = Formatter(
'%(asctime)s %(levelname)s %(message)s',
'%Y-%m-%d %H:%M:%S'
)
handler.setFormatter( fmt )
logger.addHandler( handler )
return logger
if __name__ == '__main__':
log = daylogger( 'test' )
log.info( 'Something informative has happened' )
log.warning( 'Potentially dangerous event' )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment