mderoy opened a new issue, #46350: URL: https://github.com/apache/arrow/issues/46350
### Describe the enhancement requested The arrow s3fs class provides S3GlobalOptions which expose a few things like 'log level', 'sigpipehandler', and 'num_event_loop_threads'. When initializing S3 in DoInitialize() the code configures the aws_options_ with these values. however it only allows you to log to the console by overriding the logging with the ConsoleLogSystem ``` // By default the AWS SDK logs to files, log to console instead aws_options_.loggingOptions.logger_create_fn = [this] { return std::make_shared<Aws::Utils::Logging::ConsoleLogSystem>( aws_options_.loggingOptions.logLevel); ``` This means the user's application which bundles arrow will not be able to forward S3 logs to their own logfiles by implementing their own class which extends Aws::Utils::Logging::DefaultLogSystem and installing it at s3 initialization time. If the application operates in the background, there is no way to get these logs aside from editing the arrow code itself and rebuilding it. ask is that arrow either expose the logger_create_fn in S3GlobalOptions (which may require specific S3 library headers to be exposed, which I think is the reason why we aren't given raw access to the _aws_options_) or to implement it's own default log system within arrow, which can be overridden by the user without needing the aws headers. ### Component(s) C++ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org