logging
Adapted from the Griptape AI Framework documentation.
__all__ = ['JsonFormatter', 'LoggingConfig', 'NewlineLoggingFilter', 'TruncateLoggingFilter']
module-attribute
Bases:
FormatterSource Code in griptape/configs/logging/json_formatter.py
@define class JsonFormatter(logging.Formatter): indent: int = field(default=2, kw_only=True) def __attrs_pre_init__(self) -> None: super().__init__() def format(self, record: Any) -> str: if isinstance(record.msg, dict): record.msg = json.dumps(record.msg, indent=self.indent) elif isinstance(record.msg, (list, tuple)): record.msg = json.dumps(list(record.msg), indent=self.indent) return super().format(record)
indent = field(default=2, kw_only=True)
class-attribute instance-attribute
attrs_pre_init()
Source Code in griptape/configs/logging/json_formatter.py
def __attrs_pre_init__(self) -> None: super().__init__()
format(record)
Source Code in griptape/configs/logging/json_formatter.py
def format(self, record: Any) -> str: if isinstance(record.msg, dict): record.msg = json.dumps(record.msg, indent=self.indent) elif isinstance(record.msg, (list, tuple)): record.msg = json.dumps(list(record.msg), indent=self.indent) return super().format(record)
LoggingConfig
Source Code in griptape/configs/logging/logging_config.py
@define class LoggingConfig: logger_name: str = field(default="griptape", kw_only=True) def __attrs_post_init__(self) -> None: logger = logging.getLogger(self.logger_name) logger.setLevel(logging.INFO) logger.propagate = False logger.addHandler(RichHandler(show_time=True, show_path=False))
logger_name = field(default='griptape', kw_only=True)
class-attribute instance-attribute
attrs_post_init()
Source Code in griptape/configs/logging/logging_config.py
def __attrs_post_init__(self) -> None: logger = logging.getLogger(self.logger_name) logger.setLevel(logging.INFO) logger.propagate = False logger.addHandler(RichHandler(show_time=True, show_path=False))
NewlineLoggingFilter
Bases:
FilterSource Code in griptape/configs/logging/newline_logging_filter.py
@define class NewlineLoggingFilter(logging.Filter): replace_str: str = field(default=" ", kw_only=True) def filter(self, record: Any) -> bool: record.msg = record.msg.replace("\n", self.replace_str) return True
replace_str = field(default=' ', kw_only=True)
class-attribute instance-attribute
filter(record)
Source Code in griptape/configs/logging/newline_logging_filter.py
def filter(self, record: Any) -> bool: record.msg = record.msg.replace("\n", self.replace_str) return True
TruncateLoggingFilter
Bases:
FilterSource Code in griptape/configs/logging/truncate_logging_filter.py
@define class TruncateLoggingFilter(logging.Filter): max_log_length: int = field(default=1000, kw_only=True) def filter(self, record: Any) -> bool: message = record.getMessage() if len(message) > self.max_log_length: record.msg = f"{message[: self.max_log_length]}... [{len(message) - self.max_log_length} more characters]" record.args = () return True
max_log_length = field(default=1000, kw_only=True)
class-attribute instance-attribute
filter(record)
Source Code in griptape/configs/logging/truncate_logging_filter.py
def filter(self, record: Any) -> bool: message = record.getMessage() if len(message) > self.max_log_length: record.msg = f"{message[: self.max_log_length]}... [{len(message) - self.max_log_length} more characters]" record.args = () return True
Could this page be better? Report a problem or suggest an addition!