Introduction to Blocklogger
Blocklogger is a robust logging library designed for high-performance and decentralized applications. It offers a comprehensive API that allows developers to efficiently manage and record application logs. In this guide, we’ll dive into the various APIs provided by Blocklogger and provide practical examples.
Getting Started
First, let’s install Blocklogger:
pip install blocklogger
Initialization
from blocklogger import Blocklogger
logger = Blocklogger(
log_level="INFO",
log_file_path="/var/log/blocklogger.log",
enable_console=True,
enable_file=True
)
Logging Events
logger.info("This is an info message")
logger.debug("This is a debug message")
logger.warn("This is a warning message")
logger.error("This is an error message")
Structured Logging
logger.info({
"event": "user_login",
"user": "john_doe",
"timestamp": "2023-10-01T12:00:00Z"
})
Handling Exceptions
try:
1 / 0
except ZeroDivisionError as e:
logger.error("An error occurred", exc_info=e)
Rotating Logs
logger.setup_rotation(
max_bytes=1048576,
backup_count=5,
interval="D",
when="midnight"
)
Custom Handlers
from blocklogger.handlers import CustomHandler
class MyHandler(CustomHandler):
def emit(self, record):
# Custom emission logic
pass
logger.add_handler(MyHandler())
App Example
Below is a simple application utilizing various Blocklogger APIs.
from blocklogger import Blocklogger
from blocklogger.handlers import CustomHandler
class MyHandler(CustomHandler):
def emit(self, record):
print("Custom log:", record.message)
logger = Blocklogger(log_level="DEBUG", enable_console=True)
logger.add_handler(MyHandler())
def my_app():
logger.info("App started")
try:
value = 1 / 0
except ZeroDivisionError as e:
logger.error("Error in app", exc_info=e)
logger.info("App finished")
if __name__ == "__main__":
my_app()
By following these examples, you can integrate Blocklogger into your application seamlessly to achieve robust and efficient logging.
Hash: bbfa77982871039b02410abd6d3ea249a4359ce63c74cf34c05ad249a8f5dda7