Last active
January 9, 2023 08:56
-
-
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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