Seu script está chamando logger (1) para escrever algo no syslog. Assim, o rsyslog verá o nome do programa "logger" fazendo a escrita e não "my_prog_test".
Para o que você deseja obter o registrador de chamadas (1) com "-p local0.notice" e no filtro rsyslog.conf pelo recurso "local0" em vez do nome do programa "my_prog_test" ..
De acordo com a documentação do rsyslog no meu sistema (Debian Wheezy com rsyslog 7.4.4 de backports), o último seria então expresso como:
if $syslogfacility-text == 'local0' then {
action(type="omfile" file="/var/log/my_prog_test.log")
}
Isso também deve funcionar e seria mais simples para este caso:
local0.* /var/log/my_prog_test.log
Se em seu sistema o recurso syslog local0 já é usado para tal propósito, você pode usar local1 até local7.