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

Reply via email to