I created a CrudAppService. When I invoke its dynamic API by using swagger, I get a generic 500
error with this description:
Check error in Logs.txt.
From the documentation on Logging:
Configuration
All configuration is done for Log4Net when you create your application from ASP.NET Boilerplate templates.
...
It's defined in the log4net.config file of the application as shown below:
<?xml version="1.0" encoding="utf-8" ?> <log4net> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" > <file value="Logs/Logs.txt" />
You can simply send the exception details to the client by enabling one of ABP's configurations (SendAllExceptionsToClients
) in ***.Web.Core Module, like this:
public override void PreInitialize()
{
Configuration.Modules.AbpWebCommon().SendAllExceptionsToClients = true;
}
Then you get the exception details on the client. Recommended only during development.
If you use CurrentUnitOfWork
, you can catch the exception also and using
UserFriendlyException
you can throw the desired exception. UserFriendlyException
is a specific type of exception so ABP directly shows exception message to the end user.
Example:
try
{
await _repository.InsertAsync(...);
await CurrentUnitOfWork.SaveChangesAsync();
}
catch(Exception ex)
{
throw new UserFriendlyException("user friendly exception message");
}