Classe que implementa um logger com funções de log performance, log error, log warning, log info, log debug, log critical, log alert, log emergency, log warning, log error, log critical, log alert, log emergency
Project description
LogPerformance
A Python logging utility class that provides performance monitoring, error tracking, and colored console output with file logging capabilities.
Class Overview
LogPerformance is a singleton class that implements a comprehensive logging system with the following features:
- Colored console output
- File logging with timestamp-based filenames
- Performance monitoring for functions
- Error tracking
- Warning messages
- Custom log levels
Methods
__new__(cls, *args, **kwargs)
Singleton pattern implementation that ensures only one instance of the class exists.
__init__(self)
Initializes the logger with:
- Colored console output handler
- File logging handler (if enabled)
- Custom log level configuration
- Directory creation for log files
check_exists_directory(work_directory: str) -> bool
Static method that checks if a directory exists.
create_directory(cls, work_directory: str) -> None
Class method that creates a directory if it doesn't exist and logs the creation.
log_performance(self, func: Callable) -> Callable
Decorator that measures and logs the execution time of a function.
- Logs function name, arguments, and execution time
- Returns the function's result
log_error(self, func: Callable) -> Callable
Decorator that catches and logs exceptions in a function.
- Logs the function name and error message
- Re-raises the exception after logging
log_warning(self, func: Callable) -> Callable
Decorator that logs warnings for function execution.
- Logs function name, arguments, and execution time
- Returns the function's result
info(self, msg: str) -> None
Logs an informational message with a smile emoji prefix.
warning(self, msg: str) -> None
Logs a warning message.
error(self, msg: str) -> None
Logs an error message with an exclamation mark emoji prefix.
_append_log_message(self, msg: str, level: int) -> None
Private method that appends log messages with timestamp and level.
- Handles debug level filtering
- Stores the last log message
Usage Example
from logperformance import LogPerformance
log = LogPerformance()
@log.log_performance
def example_function(arg1, arg2):
# Your code here
pass
@log.log_error
def error_prone_function():
# Your code here
pass
# Log messages
log.info("This is an info message")
log.warning("This is a warning")
log.error("This is an error")
Configuration
The logger can be configured using environment variables:
LOG_LEVEL: Set to "DEBUG" for debug level loggingDEBUG_WRITE_FILE: Set to "True" to enable file logging (default)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file logperformance-1.0.1.tar.gz.
File metadata
- Download URL: logperformance-1.0.1.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.13.3 Linux/6.11.0-1013-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
881853ddd2d9dde064f225144184af03b7c11446df28b7accdf47da09f418cdf
|
|
| MD5 |
1f98d78029c8ce43ed1bf067bb91390e
|
|
| BLAKE2b-256 |
db0a00eecc4b037d777c15ae1882d59c026dad04ea8ed375bf432d17f8f7c6a1
|
File details
Details for the file logperformance-1.0.1-py3-none-any.whl.
File metadata
- Download URL: logperformance-1.0.1-py3-none-any.whl
- Upload date:
- Size: 3.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.13.3 Linux/6.11.0-1013-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8942798054e1785d4c0fc1d082c8efe33311ccb5d786f0383d4da641be403fbf
|
|
| MD5 |
df37e3d58088e6a6320d9bd342819311
|
|
| BLAKE2b-256 |
0bea535b6fae9bc2b8fe66d61c0076710c2b446c387f90d529c233daf7b060df
|