Ejemplo n.º 1
0
def setup_logging_to_file(
    level: LogLevel,
    *,
    log_dir: str,
    log_filename: str = "pants.log",
    warnings_filter_regexes: Optional[List[str]] = None,
) -> NativeHandler:
    native = Native()
    logger = logging.getLogger(None)

    _common_logging_setup(level, warnings_filter_regexes)

    safe_mkdir(log_dir)
    log_path = os.path.join(log_dir, log_filename)

    fd = native.setup_pantsd_logger(log_path, level.level)
    ExceptionSink.reset_interactive_output_stream(os.fdopen(os.dup(fd), "a"))
    native_handler = NativeHandler(level, native_filename=log_path)

    logger.addHandler(native_handler)
    return native_handler
Ejemplo n.º 2
0
def create_native_pantsd_file_log_handler(
        log_level: LogLevel, native: Native,
        native_filename: str) -> NativeHandler:
    fd = native.setup_pantsd_logger(native_filename, log_level.level)
    ExceptionSink.reset_interactive_output_stream(os.fdopen(os.dup(fd), "a"))
    return NativeHandler(log_level, native, native_filename=native_filename)