# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/04_logs.ipynb.

# %% auto 0
__all__ = []

# %% ../nbs/04_logs.ipynb 6
import logging

# %% ../nbs/04_logs.ipynb 8
from typing import Mapping

# %% ../nbs/04_logs.ipynb 11
#| export

# %% ../nbs/04_logs.ipynb 13
#| export


# %% ../nbs/04_logs.ipynb 15
#| export


# %% ../nbs/04_logs.ipynb 17
#| export


# %% ../nbs/04_logs.ipynb 19
from nchr import NIL
from lmsg import Message, Level

# %% ../nbs/04_logs.ipynb 21
from .atyp import P

# %% ../nbs/04_logs.ipynb 23
class TorchMessage(Message):
    '''A log message class for PyTorch operations.

    Methods
    -------
    __init__(msg: str, *args, **kwargs):
        Initializes the recurrent log message.

    Examples
    --------
    >>> msg = TorchMessage("RNN step", xshape=(10, 5), hshape=(2, 10, 5))
    >>> msg(logger) # Logs a message with RNN-specific details.
    '''
    msg: str = ''    
    hush: bool = False,
    level: Level = logging.INFO
    attrs: tuple[str] = ()
    extra: Mapping[str, object] = dict()
    
    def __init__(self, msg: str = NIL, *args: P.args, **kwargs: P.kwargs):
        super().__init__(msg, *args, **kwargs)

# %% ../nbs/04_logs.ipynb 25
#| export
