abp調(diào)試時(shí)遇到an internal error occurred during your request怎么查看詳細(xì)日志
在調(diào)試abp程序時(shí),前端經(jīng)常會(huì)拋出An internal error occurred during your request,這個(gè)時(shí)候往往不明覺歷,在后臺(tái)打斷點(diǎn)調(diào)試進(jìn)去,看到的也是這個(gè)錯(cuò)誤,怎么查看詳細(xì)的錯(cuò)誤日志呢?
方法一
通過查看**..Web.Mvc項(xiàng)目,找到log4net.config文件里面,找到 <file value="App_Data/Logs/Logs.txt" />這個(gè)配置,通過這個(gè)配置找到對(duì)應(yīng)的Logs.txt的異常日志文件,找到異常原因并解決。
方法二
通過在 ***.Web.Core模塊找到AbpZeroTemplateWebCoreModule.cs文件,找到 public override void PreInitialize()這個(gè)方法,然后在尾部添加 Configuration.Modules.AbpWebCommon().SendAllExceptionsToClients = true;
這樣,客戶端就可以查看到詳細(xì)的異常日志信息,但是記得在發(fā)布到正式環(huán)境 的時(shí)候關(guān)閉噢。
方法三
在APPService層,直接攔截異常,如下:
try
{
await _repository.InsertAsync(...);
await CurrentUnitOfWork.SaveChangesAsync();
}
catch(Exception ex)
{
throw new UserFriendlyException("user friendly exception message");
}
這樣手工攔截
附記
若你的實(shí)體繼承了IMustHaveTenant接口,在調(diào)用Repository.InsertAsync這樣的方法保存時(shí)必須給TenantId賦值,如果你沒有取到TenantId,在多租戶的情況下默認(rèn)最好設(shè)置為1(或者查看數(shù)據(jù)庫里默認(rèn)tenantid表的ID值 ).否則在做create等操作時(shí)會(huì)出錯(cuò)。