I have standard 3 tier (physical) infrastructure architecture -
UI Layer (ASP.NET MVC)
WebServices Layer (WCF Services)
DB Layer (SQL Server).
All the logging should be done in database using Log4net/EnterpriseLib. There is no direct connection possible between the UI tier and DB tier (because of firewall restrictions) . There is no problem in implementing logging in the "Web Services" layer but I would like ideas to implement logging in the UI layer.
Various options -
a) Implement all UI logging calls via webservices (drawback - performance overhead). Would it be recommended to make async webservice calls in this scenario ?
b) Implement all UI logging calls to store in an intermediate queue in the same machine and run a separate process to transfer the logs to the database.
Please suggest.
I would appreciate if anybody can share his/her real life project experience on this scenario.