TABLE OF CONTENTS



Location

Logs for the V2U Service that runs on the  are found in c:\venue2u\logs


Quick Notes

- Logs are created by date

- New messages are added to the end of the file so it is sorted ascending by time with the newest message at the end of the file.

- Each new message starts with the version and the time to the fraction of a second.

ie 2.0.69.0 | 11:55:23.7737131 |  shows that the V2U version is 2.0369.0 and the time is 11:55:23am

- Error messages will have 'error:' in the text. Use search to find the errors quickly.

eg 2.0.73.0 | 14:07:50.1389439 | Unable to get TTWebOrderHeader due to the error:

- multiple lines in a row beginning with '   at' show a stack trace to help pinpoint an error. (see SQL connection issue example below)

- References to TT will be Table Tracking




Common Events

Examples are shortened for quick reference. Check the attached files for full examples from a log.


General notes

  • errors pertaining to "Duplicate PLU's' are irrelevant - please ignore.


Sync caused by automated schedule or 'refresh app' button on dashboard

Full example - Sync.txt

- Look for 'Checking Layout' for the start of a sync

- There should be a record for each layout

2.0.73.0 | 05:00:14.4404569 | Checking Layout: MyVIP-12-Main Menu

2.0.73.0 | 05:00:14.5834554 | Duplicate PLU: 31500 found please remove second instance on the keyboard

2.0.73.0 | 05:00:15.6032072 | Layout Time: 1163ms

2.0.73.0 | 05:00:15.6042079 | 33

2.0.73.0 | 05:00:15.6387604 | Skipping sending layouts as they have not changed

2.0.73.0 | 05:00:15.6397591 | GetLayouts took 1326ms



SQL connection issue

Full example - sql connection issue.txt

2.0.73.0 | 14:07:50.1389439 | Unable to get TTWebOrderHeader due to the error: System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) ---> System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified

   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling, SqlAuthenticationProviderManager sqlAuthProviderManager)

   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)

 



Dockets being sent to a kitchen printer

Full example - kitchen print.txt

2.0.69.0 | 11:55:26.3350380 | Message from server: SendPrint

2.0.69.0 | 11:55:26.3360381 | Request Id: e4402888-e4eb-4080-b2ee-5215f64d5262

2.0.69.0 | 11:55:26.3360381 | Sending print to printer: EPSON TM-T82III Receipt

2.0.69.0 | 11:55:26.3360381 | With body of: KITCHEN PRINT


<DOCKET TEXT>


2.0.69.0 | 11:55:26.3370399 | Printing with docket name: V2U Print - ab67f098-e435-4cb3-a5a0-e0de5f0be921

2.0.69.0 | 11:55:26.3830396 | SendPrint Response: true

2.0.69.0 | 11:55:26.3840407 | SendPrint took 47ms




Finalising a sale

Full example - full sale.txt

- ProcessSale messages will come through each time a cart is updated and swiftpos is polled to check for promotions, mix and match, vouchers etc



2.0.69.0 | 11:55:25.2510578 | Message from server: ProcessSale

2.0.69.0 | 11:55:25.2510578 | Request Id: 00ba63e6-0f33-48a5-8866-1f68d1eea65d

2.0.69.0 | 11:55:25.2520606 | Received this parameter: 15

2.0.69.0 | 11:55:25.2520606 | ProcessSale for alternative locationId: 15

2.0.69.0 | 11:55:25.2520606 | About to process sale

2.0.69.0 | 11:55:25.3990627 | Processing sale took 146ms

2.0.69.0 | 11:55:25.3990627 | ProcessSale Response: {sale details}

2.0.69.0 | 11:55:25.4000629 | ProcessSale took 147ms

2.0.69.0 | 11:55:25.6387160 | Message from server: SendSale

2.0.69.0 | 11:55:25.6397164 | Request Id: f34dfe8e-c353-4ad5-b72e-e3d6b016cc03

2.0.69.0 | 11:55:25.6397164 | SendSale for locationId: 15


2.0.69.0 | 11:55:25.8207185 | {sale details}

2.0.69.0 | 11:55:25.8217206 | Finalising sale took 181ms

2.0.69.0 | 11:55:25.8217206 | SendSale Response: {sale details}

2.0.69.0 | 11:55:25.8217206 | SendSale took 181ms



Member login/looking up a member's details

Full example - member lookup.txt


2.0.69.0 | 11:55:23.7737131 | Message from server: GetMemberById

2.0.69.0 | 11:55:23.7747137 | Request Id: 28cd70fd-f993-431a-a446-d907afddd6ff

2.0.69.0 | 11:55:23.7747137 | GetMemberById MemberId: 69420

2.0.69.0 | 11:55:23.7757155 | URL: api/Member/69420

2.0.69.0 | 11:55:23.8187154 | Getting member took 43ms

2.0.69.0 | 11:55:23.8197173 | GetMemberById Response: {member details}

2.0.69.0 | 11:55:23.8197173 | GetMemberById took 44ms

2.0.69.0 | 11:55:23.9447131 | Message from server: SendNetPOSRequest

2.0.69.0 | 11:55:23.9457138 | Request Id: f5433342-9e3b-4225-9fc2-20eb52fda865

2.0.69.0 | 11:55:23.9477144 | Sending NetPOS request to: http://127.0.0.1:10101 with method: http://tempuri.org/INetPosService/GetMemberById

2.0.69.0 | 11:55:23.9497146 | SendNetPOSRequest Response: {member details}

2.0.69.0 | 11:55:23.9497146 | SendNetPOSRequest took 1ms



Error Examples

Netpos - Gaming lookup timeout.

Full example - MG timeout

This was an instance where Max Gaming timed out and Venue2U continued attempting to process the sale. There is no timeout message (as of 18/01/2024) but the process sale takes 11 seconds and then reports an 'object reference' error.

Cross referencing to netpos logs shows an MG timeout.


Message from server: ProcessSale

2.0.42.0 | 20:43:25.0977666 | Request Id: d6b0f39b-4415-4b78-ac64-80e5258055df

2.0.42.0 | 20:43:25.0987617 | Received this parameter: 51

2.0.42.0 | 20:43:25.0987617 | ProcessSale for alternative locationId: 51

2.0.42.0 | 20:43:25.0997573 | About to process sale

2.0.42.0 | 20:43:25.1306217 | Processing Sale for locationId: 51

2.0.42.0 | 20:43:29.2017144 | Checking health

2.0.42.0 | 20:43:29.2027100 | Checking NetPOS

2.0.42.0 | 20:43:29.2086858 | NetPOS Status: Running

2.0.42.0 | 20:43:29.2485088 | Checking Terminal

2.0.42.0 | 20:43:29.2505001 | Terminal Status: Connected

2.0.42.0 | 20:43:29.2544826 | Checking Orders

2.0.42.0 | 20:43:29.2554783 | Order Status: 0

2.0.42.0 | 20:43:29.2564762 | Self Printing enabled, overriding healthcheck

2.0.42.0 | 20:43:36.1073339 | Processing sale took 11007ms

2.0.42.0 | 20:43:36.1083288 | ProcessSale Response: "Classification Id is required."

2.0.42.0 | 20:43:36.1093255 | ProcessSale took 11009ms

2.0.42.0 | 20:43:36.4816873 | Message from server: SendSale


2.0.42.0 | 20:43:36.4836777 | Requesting ApiKey for location: 51 clerk: 9999 password: 357677

2.0.42.0 | 20:43:36.5115556 | Response: {"ApiKey":"tW9CJWZIZlroukHTrxoIgIFcS+2jR0Df2sXamuKd6zE0WH8kKZJtlw==","ApiKeyExpiration":20,"ApiVersion":"10.62.7.0"}

2.0.42.0 | 20:43:36.5125506 | Getting API key took 28ms

2.0.42.0 | 20:43:36.5205157 | {"Message":"An error has occurred.","ExceptionMessage":"Object reference not set to an instance of an object.","ExceptionType":"System.NullReferenceException","StackTrace":"   at Samford.Web.Api.SaleExtensions.ToWebSale(Sale apiSale)\r\n   at Samford.Web.Api.Controllers.SaleController.FinaliseSale(Sale sale)\r\n   at lambda_method(Closure , Object , Object[] )\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.<GetExecutor>b__2(Object instance, Object[] methodParameters)\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n   at Samford.Web.Api.Infrastructure.TokenFilterAttribute.<ExecuteAuthorizationFilterAsync>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__15.MoveNext()"}

2.0.42.0 | 20:43:36.5215126 | Finalising sale took 37ms

2.0.42.0 | 20:43:36.5215126 | SendSale Response: {"Message":"An error has occurred.","ExceptionMessage":"Object reference not set to an instance of an object.","ExceptionType":"System.NullReferenceException","StackTrace":"   at Samford.Web.Api.SaleExtensions.ToWebSale(Sale apiSale)\r\n   at Samford.Web.Api.Controllers.SaleController.FinaliseSale(Sale sale)\r\n   at lambda_method(Closure , Object , Object[] )\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.<GetExecutor>b__2(Object instance, Object[] methodParameters)\r\n   at