In virtually all the applications and operations I write, I try to incorporate some level of logging so that my code can be adequately supported, particularly in Production environments. Some time ago, I wrote about how I generally log in my Python applications. Well, lately, I’ve switched from that approach to using Loguru and I must say I’m rather satisfied with its ease of use. Here’s a quick example I put together recently of the package:
Step 1: Do your standard imports
As I explained in other posts on logging, I like adding a “run id” to each log line so that I can easily group lines together belonging to a single instance of my application, so I import the uuid package to help in that regard:
import os
import sys
import uuid
from loguru import logger
Step 2: Setup/customize my logging context
In one line, I can customize how each log line is written and set logging behavior like rolling the file when it hits 10 Mb in size:
runid = str(uuid.uuid4()).split('-')[-1]
logger.add('loguru_example.log', format='{time}|{extra[runid]}|{level}|{message}', level='INFO', rotation='10 MB')
logger_ctx = logger.bind(runid=runid)
Step 3: Start logging
def main(argv):
logger_ctx.info('Starting run of the loguru_example.py script')
# do some stuff
logger_ctx.info('Completing run of the loguru_example.py script')
if __name__ == '__main__':
main(sys.argv[1:])
And now you have a nice and easy log for your application:
Pretty darn simple! So now there’s no excuse: start logging today!
Recent Comments