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
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)