Cluster · разработчикам
app.logs
Запись событий в журнал. Дополнительные JSON-поля добавляются к сообщению.
Все методы SDK · Типы и ошибки
Получение объекта
log = app.logs.bind(module="notes")__init__
Создаёт Journal. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
def __init__(app: App) -> None: ...Аргументы
app: App, обязательный. Переданный ядром объект app. Второй App в модуле создавать не нужно.
Результат
None. Создаёт Journal. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
# Обычный способ получения объекта:
log = app.logs.bind(module="notes")bind
Возвращает отдельный журнал с объединёнными полями контекста. Одноимённые новые поля заменяют прежние.
def bind(**values: JSON) -> Journal: ...Аргументы
values: JSON, произвольные именованные аргументы. Именованные JSON-поля контекста журнала. Не передавай токены и другие секреты.
Результат
Journal. Возвращает отдельный журнал с объединёнными полями контекста. Одноимённые новые поля заменяют прежние.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = app.logs.bind(operation="refresh")timer
Создаёт асинхронный контекст измерения времени; запись появляется при выходе.
def timer(message: str) -> Timer: ...Аргументы
message: str, обязательный. Название операции для итоговой записи времени в журнале.
Результат
Timer. Создаёт асинхронный контекст измерения времени; запись появляется при выходе.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = app.logs.timer("Refresh finished")info
Записывает информационное событие с уровнем info.
async def info(message: str, **values: JSON) -> LogEntry: ...Аргументы
message: str, обязательный. Сообщение журнала. Контекст добавляется как JSON без секретов.values: JSON, произвольные именованные аргументы. Именованные JSON-поля контекста журнала. Не передавай токены и другие секреты.
Результат
LogEntry. Запись журнала с id, time, level, group, instance и message.
Права
Нужны logs.write.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.logs.info("Refresh finished", operation="refresh")warn
Записывает предупреждение с уровнем warn.
async def warn(message: str, **values: JSON) -> LogEntry: ...Аргументы
message: str, обязательный. Сообщение журнала. Контекст добавляется как JSON без секретов.values: JSON, произвольные именованные аргументы. Именованные JSON-поля контекста журнала. Не передавай токены и другие секреты.
Результат
LogEntry. Запись журнала с id, time, level, group, instance и message.
Права
Нужны logs.write.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.logs.warn("Refresh finished", operation="refresh")error
Записывает ошибку с уровнем error.
async def error(message: str, **values: JSON) -> LogEntry: ...Аргументы
message: str, обязательный. Сообщение журнала. Контекст добавляется как JSON без секретов.values: JSON, произвольные именованные аргументы. Именованные JSON-поля контекста журнала. Не передавай токены и другие секреты.
Результат
LogEntry. Запись журнала с id, time, level, group, instance и message.
Права
Нужны logs.write.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.logs.error("Refresh finished", operation="refresh")write
Записывает сообщение с указанным уровнем журнала.
async def write(message: str, level: str = 'info') -> LogEntry: ...Аргументы
message: str, обязательный. Сообщение журнала. Контекст добавляется как JSON без секретов.level: str, по умолчанию'info'. Уровень журнала: info, warn или error.
Результат
LogEntry. Запись журнала с id, time, level, group, instance и message.
Права
Нужны logs.write.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.logs.write("Refresh finished")