EvalResult.write() should use self.logger
🚀 Feature
I quite like using EvalResult.write() to generate a report from the test_step. However, I feel this should be integrated with self.logger
Motivation
By using self.logger for all logging, consistency is maintained - files end up in the same location and it's easy to enable / disable logging. In particular, I'm using mlflow. I'd like my predictions.pt to end up as a mlflow artifact. At the moment I'm using the code below (in test_step) - this works fine but I'm using file:./mlflow as the tracking url - not sure this would work with an http uri.
    filename  = os.path.join(self.logger.save_dir,self.logger.experiment_id,self.logger.run_id,'artifacts','predictions.pt')
    result.write('src', [';'.join(src)], filename=filename)
    result.write('tgt', [';'.join(tgt)], filename=filename)
    result.write('preds', [';'.join(preds)], filename=filename)

Also it would be nice to be able to control the logging format - I'm using nlp so I'm logging sentences. It would be nicer if the file was txt / html rather than pt (i.e. one of the supported mlflow artifact formats). Also result.write('src', 'the quick brown fox', filename=filename) fails - it needs to be wrapped as a singleton array i.e. result.write('src', ['the quick brown fox'], filename=filename)` - it might be nice is strings were handled as a special case.