Skip to content

Logging Examples

Logging Levels

examples/logger/logger_levels.py
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from kevinbotlib.logger import Level, Logger, LoggerConfiguration

logger = Logger()
logger.configure(LoggerConfiguration(Level.TRACE))  # lowest available level

logger.trace("A trace message")
logger.debug("A debug message")
logger.info("An info message")
logger.warning("A warning message")
logger.error("An error message")
logger.security("A secutity warning or error")
logger.critical("A critical message")

File Logger

examples/logger/file_logger.py
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import time

from kevinbotlib.fileserver import FileServer
from kevinbotlib.logger import (
    FileLoggerConfig,
    Level,
    Logger,
    LoggerConfiguration,
    LoggerDirectories,
)

print(f"Logging to {LoggerDirectories.get_logger_directory()}")

logger = Logger()
logger.configure(LoggerConfiguration(Level.DEBUG, FileLoggerConfig()))

fileserver = FileServer(LoggerDirectories.get_logger_directory())
fileserver.start()

LoggerDirectories.cleanup_logs(LoggerDirectories.get_logger_directory())

logger.trace("A trace message")
logger.debug("A debug message")
logger.info("An info message")
logger.warning("A warning message")
logger.error("An error message")
logger.critical("A critical message")

while True:
    time.sleep(1)  # keep the fileserver up

Stdout Redirector

examples/logger/stdout_redirector.py
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import contextlib

from kevinbotlib.logger import Level, Logger, LoggerConfiguration, StreamRedirector

logger = Logger()
logger.configure(LoggerConfiguration(Level.DEBUG))
stream = StreamRedirector(logger)

with contextlib.redirect_stdout(stream):
    print("Hello from KevinbotLib!")
    print("This will be converted to a logging entry")

Log Suppressor

examples/logger/logger_suppress.py
1
2
3
4
5
6
7
8
9
from kevinbotlib.logger import Level, Logger, LoggerConfiguration

logger = Logger()
logger.configure(LoggerConfiguration(Level.TRACE))  # lowest available level

with Logger.suppress():
    Logger().error("You shouldn't see this!")

Logger().error("You should see this!")