File Mover Blog

March 19, 2022

Notificate the windows application log if a certain error occurs?

Q: is it possible notificate in the windows application log if the following error occurs?

17.03.2022 14:29:35 Connect IMAP4, OAuth2 Authorization Failed, Error:

  RefreshAccessToken:

   ..

    fullRequestGetResponse:

      Reading response header…

      responseStatusCode: 400

      Reading response body …

    –fullRequestGetResponse

    finalResponse: {“error”:”invalid_grant”,”error_description”:”AADSTS700082: The refresh token has expired due to inactivity. The token was issued on 2021-11-18T10:09:31.0508889Z and was inactive for 90.00:00:00.\..

  –RefreshAccessToken

17.03.2022 14:29:35 Connect IMAP4, CK Login to outlook.office365.com Error:

  Connect_Imap:

A: Yes this is possible using the following setup.

1. Open ‘Logging’ setup and enable the ‘Clear Log at Rule Begin’ option in the ‘RunTime Log’ tab. Since we are going to use the RunTime log as content to check, we want to keep it unique for each time the Rule is started.

Limagito File Mover Logging Setup

Limagito File Mover RunTime Log Setup

2. Open ‘Rule Events’

Limagito File Mover Rule Events

3. Enable the ‘On .. Error’ event and enable the ‘Enable Event Log’ option. Add %VSE ( Var String E ) to the ‘Event Log’ setup. Be sure the ‘On Error’ event stays selected during the setup of the other options.

Limagito File Mover windows application log

Important, in the ‘Options’ tab:

  • Enable ‘Include connect errors in on error event’
  • Enable ‘Use Pascal Script as Event Precondition’

Limagito File Mover Rule Events Common Options

4. Enable ‘Enable Pascal Script’ for the ‘On Error’ event. Add the following ‘Pascal Script’.

Const
  ctErrorToFind = 'AADSTS700082';
Begin
  // ... add your code here
  psExitCode := 0;
  If Pos(ctErrorToFind, psLRT) <> 0 Then
  Begin
    psLogWrite(1, '', 'Write Error To Event Log, ' + ctErrorToFind);
    psExitCode := 1;
  End  
  Else
    psExitCode := 0;
  // Put LogRunTime information in psVSE var 
  psVSE := psLRT;
End.

Limagito File Mover Rule Events Pascal Script option

Summary:

  • The RunTime Log is cleared each time the Rule is triggered/started.
  • If an error (connect or others) occurs then we’ll use the Pascal Script option of the Rule Events to check if the content of the RunTime Log includes a certain text ( ‘AADSTS700082’ ).
  • If this text is available then we’ll put the RunTime Log content into the Windows Application Log.

#Filetransfer

If you need any info about this ‘windows application log’ request, please let us know.

Best regards,

Limagito Team