1 min read

Python Loguru Module

Loguru is a library which aims to make logging in Python enjoyable. It provides a pre-configured logger that just works, without the boilerplate of the standard logging module.

Installation

pip install loguru

Basic Usage

You don't need to initialize a logger; just import the global logger object.

from loguru import logger

logger.debug("That's it, beautiful and simple logging!")
logger.info("If you're using Python {}, prefer {feature} of course!", 3.6, feature="f-strings")

Sinks (Output Destinations)

Loguru uses "sinks" to manage where logs go. By default, it logs to stderr.

Logging to a File

from loguru import logger

logger.add("file_{time}.log")

Rotation and Retention

You can easily configure log rotation and retention (cleanup).

# Rotate file when it reaches 500 MB
logger.add("file_1.log", rotation="500 MB")

# Rotate every day at 12:00
logger.add("file_2.log", rotation="12:00")

# Cleanup logs older than 10 days
logger.add("file_3.log", retention="10 days")

# Compress logs
logger.add("file_4.log", compression="zip")

Exception Handling

Loguru provides a decorator to automatically catch exceptions and log the traceback.

from loguru import logger

@logger.catch
def my_function(x, y):
    return x / y

my_function(1, 0)
# This will log the ZeroDivisionError automatically

Serialization

Loguru can log messages as JSON, which is useful for parsing.

logger.add("file.json", serialize=True)

programming/python/python