| # Copyright 2017 The Abseil Authors. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| import logging |
| from typing import Any, Callable, Dict, NoReturn, Optional, Tuple, TypeVar, Union |
| |
| from absl import flags |
| |
| # Logging levels. |
| FATAL: int |
| ERROR: int |
| WARNING: int |
| WARN: int # Deprecated name. |
| INFO: int |
| DEBUG: int |
| |
| ABSL_LOGGING_PREFIX_REGEX: str |
| |
| LOGTOSTDERR: flags.FlagHolder[bool] |
| ALSOLOGTOSTDERR: flags.FlagHolder[bool] |
| LOG_DIR: flags.FlagHolder[str] |
| VERBOSITY: flags.FlagHolder[int] |
| LOGGER_LEVELS: flags.FlagHolder[Dict[str, str]] |
| STDERRTHRESHOLD: flags.FlagHolder[str] |
| SHOWPREFIXFORINFO: flags.FlagHolder[bool] |
| |
| |
| def get_verbosity() -> int: |
| ... |
| |
| |
| def set_verbosity(v: Union[int, str]) -> None: |
| ... |
| |
| |
| def set_stderrthreshold(s: Union[int, str]) -> None: |
| ... |
| |
| |
| # TODO(b/277607978): Provide actual args+kwargs shadowing stdlib's logging functions. |
| def fatal(msg: Any, *args: Any, **kwargs: Any) -> NoReturn: |
| ... |
| |
| |
| def error(msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| |
| def warning(msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| |
| def warn(msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| |
| def info(msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| |
| def debug(msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| |
| def exception(msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| |
| def log_every_n(level: int, msg: Any, n: int, *args: Any) -> None: |
| ... |
| |
| |
| def log_every_n_seconds( |
| level: int, msg: Any, n_seconds: float, *args: Any |
| ) -> None: |
| ... |
| |
| |
| def log_first_n(level: int, msg: Any, n: int, *args: Any) -> None: |
| ... |
| |
| |
| def log_if(level: int, msg: Any, condition: Any, *args: Any) -> None: |
| ... |
| |
| |
| def log(level: int, msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| |
| def vlog(level: int, msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| |
| def vlog_is_on(level: int) -> bool: |
| ... |
| |
| |
| def flush() -> None: |
| ... |
| |
| |
| def level_debug() -> bool: |
| ... |
| |
| |
| def level_info() -> bool: |
| ... |
| |
| |
| def level_warning() -> bool: |
| ... |
| |
| |
| level_warn = level_warning # Deprecated function. |
| |
| |
| def level_error() -> bool: |
| ... |
| |
| |
| def get_log_file_name(level: int = ...) -> str: |
| ... |
| |
| |
| def find_log_dir_and_names( |
| program_name: Optional[str] = ..., log_dir: Optional[str] = ... |
| ) -> Tuple[str, str, str]: |
| ... |
| |
| |
| def find_log_dir(log_dir: Optional[str] = ...) -> str: |
| ... |
| |
| |
| def get_absl_log_prefix(record: logging.LogRecord) -> str: |
| ... |
| |
| |
| _SkipLogT = TypeVar('_SkipLogT', str, Callable[..., Any]) |
| |
| def skip_log_prefix(func: _SkipLogT) -> _SkipLogT: |
| ... |
| |
| |
| _StreamT = TypeVar("_StreamT") |
| |
| |
| class PythonHandler(logging.StreamHandler[_StreamT]): |
| |
| def __init__( |
| self, |
| stream: Optional[_StreamT] = ..., |
| formatter: Optional[logging.Formatter] = ..., |
| ) -> None: |
| ... |
| |
| def start_logging_to_file( |
| self, program_name: Optional[str] = ..., log_dir: Optional[str] = ... |
| ) -> None: |
| ... |
| |
| def use_absl_log_file( |
| self, program_name: Optional[str] = ..., log_dir: Optional[str] = ... |
| ) -> None: |
| ... |
| |
| def flush(self) -> None: |
| ... |
| |
| def emit(self, record: logging.LogRecord) -> None: |
| ... |
| |
| def close(self) -> None: |
| ... |
| |
| |
| class ABSLHandler(logging.Handler): |
| |
| def __init__(self, python_logging_formatter: PythonFormatter) -> None: |
| ... |
| |
| def format(self, record: logging.LogRecord) -> str: |
| ... |
| |
| def setFormatter(self, fmt) -> None: |
| ... |
| |
| def emit(self, record: logging.LogRecord) -> None: |
| ... |
| |
| def flush(self) -> None: |
| ... |
| |
| def close(self) -> None: |
| ... |
| |
| def handle(self, record: logging.LogRecord) -> bool: |
| ... |
| |
| @property |
| def python_handler(self) -> PythonHandler: |
| ... |
| |
| def activate_python_handler(self) -> None: |
| ... |
| |
| def use_absl_log_file( |
| self, program_name: Optional[str] = ..., log_dir: Optional[str] = ... |
| ) -> None: |
| ... |
| |
| def start_logging_to_file(self, program_name=None, log_dir=None) -> None: |
| ... |
| |
| |
| class PythonFormatter(logging.Formatter): |
| |
| def format(self, record: logging.LogRecord) -> str: |
| ... |
| |
| |
| class ABSLLogger(logging.Logger): |
| |
| def findCaller( |
| self, stack_info: bool = ..., stacklevel: int = ... |
| ) -> Tuple[str, int, str, Optional[str]]: |
| ... |
| |
| def critical(self, msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| def fatal(self, msg: Any, *args: Any, **kwargs: Any) -> NoReturn: |
| ... |
| |
| def error(self, msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| def warn(self, msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| def warning(self, msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| def info(self, msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| def debug(self, msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| def log(self, level: int, msg: Any, *args: Any, **kwargs: Any) -> None: |
| ... |
| |
| def handle(self, record: logging.LogRecord) -> None: |
| ... |
| |
| @classmethod |
| def register_frame_to_skip( |
| cls, file_name: str, function_name: str, line_number: Optional[int] = ... |
| ) -> None: |
| ... |
| |
| |
| # NOTE: Returns None before _initialize called but shouldn't occur after import. |
| def get_absl_logger() -> ABSLLogger: |
| ... |
| |
| |
| # NOTE: Returns None before _initialize called but shouldn't occur after import. |
| def get_absl_handler() -> ABSLHandler: |
| ... |
| |
| |
| def use_python_logging(quiet: bool = ...) -> None: |
| ... |
| |
| |
| def use_absl_handler() -> None: |
| ... |