Se você puder controlar qual eventlog o serviço deve usar, você pode criar seu próprio log e escrever para ele:
PS C:\Windows\system32> New-EventLog -LogName "MyCustomApplicationLog" -Source "MyCustomApplication" PS C:\Windows\system32> Get-EventLog -List Max(K) Retain OverflowAction Entries Log ------ ------ -------------- ------- --- 20.480 0 OverwriteAsNeeded 15.518 Application 20.480 0 OverwriteAsNeeded 0 HardwareEvents 512 7 OverwriteOlder 0 Internet Explorer 20.480 0 OverwriteAsNeeded 0 Key Management Service 512 7 OverwriteOlder 13 Lenovo-Lenovo Patch Utility/Admin 512 7 OverwriteOlder 2 Lenovo-Message Center Plus/Admin 512 7 OverwriteOlder 0 MyCustomApplicationLog 128 0 OverwriteAsNeeded 86 OAlerts 20.480 0 OverwriteAsNeeded 18.768 Security 20.480 0 OverwriteAsNeeded 54.974 System 15.360 0 OverwriteAsNeeded 3.136 Windows PowerShell
Acho que você pode fazer isso com um manipulador de eventos wmi. Vou postar um exemplo depois.