Telegraf or Client library for sending data


I am looking for explanation when to use Telegraf over Client libraries for sending data influxdb?
I would like to send data multiple influxDb instances simultaneously. One for storing data locally with low retention time and one for storing data with higher retention time hosted in the cloud. In some cases the remote instance is not available so that, I would like to log the telegraf unsent messages. I am thinking about the telegraf as a gateway btw. the data source and the influxdb trying to send unsent messages. If telegraf has the ability to log and locally buffer unsent data It is much convenient to use it instead of client library.
Can you tell me me the real pros and cons of the client library and telegraf?

Thank you!