HEX
Server: LiteSpeed
System: Linux srv1.dhviews.com 5.14.0-570.23.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jun 24 11:27:16 EDT 2025 x86_64
User: bdedition (1723)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //proc/thread-self/root/usr/local/lib/python3.9/site-packages/wordfence/logging/formatting.py
import logging

from ..util.terminal import Color, escape, RESET


class ConfigurableFormatter(logging.Formatter):

    def __init__(self, colored: bool = False, prefixed: bool = False):
        super().__init__()
        self.colored = colored
        self.prefixed = prefixed
        self.reset = RESET if colored else ''

    def get_style(self, level) -> str:
        if not self.colored:
            return ''
        if level >= logging.ERROR:
            return escape(color=Color.RED)
        if level >= logging.WARNING:
            return escape(color=Color.YELLOW)
        if level <= logging.DEBUG:
            return escape(color=Color.WHITE)
        return escape(color=Color.GREEN)

    def get_prefix(self, level) -> str:
        if not self.prefixed or not level:
            return ''
        return f'{level}: '

    def format(self, record) -> str:
        style = self.get_style(record.levelno)
        prefix = self.get_prefix(record.levelname)
        message = super().format(record)
        return f'{style}{prefix}{message}{self.reset}'