How to override a service
The problem is that you are adding your argument as an array, so your __construct() method receives an array. So this:

$definition-&gt;setClass('Drupal\my_module\MyModuleMessageNotifier')-&gt;addArgument([
  new Reference('logger.channel.message_notify')
]);


Should be this:

$definition-&gt;setClass('Drupal\my_module\MyModuleMessageNotifier')
  -&gt;addArgument(new Reference('logger.channel.message_notify'));


(notice that the Reference is not wrapped in an array.