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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]