summaryrefslogtreecommitdiff
path: root/src/caelestia/utils/logging.py
blob: 209640786042e8271674d81c75171647d12bcc23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from time import strftime


def log_message(message: str) -> None:
    timestamp = strftime("%Y-%m-%d %H:%M:%S")
    print(f"[{timestamp}] {message}")


def log_exception(func):
    """Log exceptions to stdout instead of raising

    Used by the `apply_()` functions so that an exception, when applying
    a theme, does not prevent the other themes from being applied.
    """
    def wrapper(*args, **kwargs):
        try:
            func(*args, **kwargs)
        except Exception as e:
            log_message(f'Error during execution of "{func.__name__}()": {str(e)}')
    return wrapper