logger: http: add new logger module

Closed Alexandre Janniaux requested to merge alexandre-janniaux/vlc:http-logger/1 into master

Add an HTTP logger sending the logs through an HTTP PUT request without content-length, splitting the logs across multiple lines.

This module has been written for debugging use case on TV flavour (tvOS) in a case where logs are parsed to create real time visualization of the timestamps information across the pipeline, but it could also be used to forward debugging logs toward a central place, typically to debug synchronization between two running instances of VLC or libVLC.

It probably has very few usage for VLC desktop end users.


There's currently no handling of HTTP write failures, since I'm not sure of how to handle them with the current abstractions.

There are also avoidable allocations (for the format string) to make sure that each HTTP chunk contains a log, I'm not sure this is fundamentally necessary but it might also be handled by the underlying HTTP stack if necessary.

Finally, the username and password is given through VLC variable, mostly like all other modules, but maybe using the keystore facility might be a good idea? We just need to make sure that libVLC users are able to inject the username/password for the given endpoint. As a side effect, it could allow to transparently introduce more complex HTTP authentication setup in the future.

Merge request reports