Deprecation messages should consistently get logged as warnings, to make them distinguishable from regular log messages, and to make it clear that user interactions are required.
While changing the log message channel, I experimented with switching to the warnings module and emitting DeprecationWarnings via warnings.warn() instead, but that would require capturing warnings in Streamlink's root logger, default warning filters would need to be changed (which I'm not sure how it would affect third party code), and in order to show warnings in a meaningful way for end-users, the resulting LogRecords would need to get changed as well. This is not worth the effort for using the deprecation warnings API of the stdlib.