fix: add runtime logging for code-kind lookup failures
Capture detailed runtime context when /bag/code-kinds and /bag/code-details fail so production logs reveal the exact exception source and request/session scope.
This commit is contained in:
@@ -349,13 +349,27 @@ class Bag extends BaseController
|
|||||||
{
|
{
|
||||||
$kindModel = model(CodeKindModel::class);
|
$kindModel = model(CodeKindModel::class);
|
||||||
$detailModel = model(CodeDetailModel::class);
|
$detailModel = model(CodeDetailModel::class);
|
||||||
$kinds = $kindModel->orderBy('ck_code', 'ASC')->findAll();
|
$kinds = [];
|
||||||
$lgIdx = $this->lgIdx();
|
|
||||||
$countMap = [];
|
$countMap = [];
|
||||||
foreach ($kinds as $row) {
|
$lgIdx = $this->lgIdx();
|
||||||
$countMap[$row->ck_idx] = (int) $detailModel->where('cd_ck_idx', $row->ck_idx)
|
try {
|
||||||
->filterByTenantScope($lgIdx)
|
$kinds = $kindModel->orderBy('ck_code', 'ASC')->findAll();
|
||||||
->countAllResults();
|
foreach ($kinds as $row) {
|
||||||
|
$countMap[$row->ck_idx] = (int) $detailModel->where('cd_ck_idx', $row->ck_idx)
|
||||||
|
->filterByTenantScope($lgIdx)
|
||||||
|
->countAllResults();
|
||||||
|
}
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
log_message('error', '[codeKinds] 실패: {type} {message} @ {file}:{line} / lg={lg}, user={user}, level={level}', [
|
||||||
|
'type' => $e::class,
|
||||||
|
'message' => $e->getMessage(),
|
||||||
|
'file' => $e->getFile(),
|
||||||
|
'line' => $e->getLine(),
|
||||||
|
'lg' => $lgIdx !== null ? (string) $lgIdx : 'null',
|
||||||
|
'user' => (string) (session()->get('mb_id') ?? ''),
|
||||||
|
'level' => (string) (session()->get('mb_level') ?? ''),
|
||||||
|
]);
|
||||||
|
session()->setFlashdata('error', '기본코드 조회 중 오류가 발생했습니다. 관리자에게 로그 확인을 요청해 주세요.');
|
||||||
}
|
}
|
||||||
|
|
||||||
$level = (int) session()->get('mb_level');
|
$level = (int) session()->get('mb_level');
|
||||||
@@ -374,18 +388,46 @@ class Bag extends BaseController
|
|||||||
{
|
{
|
||||||
$kindModel = model(CodeKindModel::class);
|
$kindModel = model(CodeKindModel::class);
|
||||||
$detailModel = model(CodeDetailModel::class);
|
$detailModel = model(CodeDetailModel::class);
|
||||||
$kind = $kindModel->find($ckIdx);
|
$kind = null;
|
||||||
|
try {
|
||||||
|
$kind = $kindModel->find($ckIdx);
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
log_message('error', '[codeDetails] kind 조회 실패: {type} {message} @ {file}:{line} / ck={ck}, user={user}, level={level}', [
|
||||||
|
'type' => $e::class,
|
||||||
|
'message' => $e->getMessage(),
|
||||||
|
'file' => $e->getFile(),
|
||||||
|
'line' => $e->getLine(),
|
||||||
|
'ck' => (string) $ckIdx,
|
||||||
|
'user' => (string) (session()->get('mb_id') ?? ''),
|
||||||
|
'level' => (string) (session()->get('mb_level') ?? ''),
|
||||||
|
]);
|
||||||
|
return redirect()->to(site_url('bag/code-kinds'))->with('error', '세부코드 조회 중 오류가 발생했습니다. 관리자에게 로그 확인을 요청해 주세요.');
|
||||||
|
}
|
||||||
if ($kind === null) {
|
if ($kind === null) {
|
||||||
return redirect()->to(site_url('bag/code-kinds'))->with('error', '코드 종류를 찾을 수 없습니다.');
|
return redirect()->to(site_url('bag/code-kinds'))->with('error', '코드 종류를 찾을 수 없습니다.');
|
||||||
}
|
}
|
||||||
|
|
||||||
$lgIdx = $this->lgIdx();
|
$lgIdx = $this->lgIdx();
|
||||||
$list = $detailModel->where('cd_ck_idx', $ckIdx)
|
try {
|
||||||
->filterByTenantScope($lgIdx)
|
$list = $detailModel->where('cd_ck_idx', $ckIdx)
|
||||||
->orderBy('cd_sort', 'ASC')
|
->filterByTenantScope($lgIdx)
|
||||||
->orderBy('cd_idx', 'ASC')
|
->orderBy('cd_sort', 'ASC')
|
||||||
->paginate(20);
|
->orderBy('cd_idx', 'ASC')
|
||||||
$pager = $detailModel->pager;
|
->paginate(20);
|
||||||
|
$pager = $detailModel->pager;
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
log_message('error', '[codeDetails] list 조회 실패: {type} {message} @ {file}:{line} / ck={ck}, lg={lg}, user={user}, level={level}', [
|
||||||
|
'type' => $e::class,
|
||||||
|
'message' => $e->getMessage(),
|
||||||
|
'file' => $e->getFile(),
|
||||||
|
'line' => $e->getLine(),
|
||||||
|
'ck' => (string) $ckIdx,
|
||||||
|
'lg' => $lgIdx !== null ? (string) $lgIdx : 'null',
|
||||||
|
'user' => (string) (session()->get('mb_id') ?? ''),
|
||||||
|
'level' => (string) (session()->get('mb_level') ?? ''),
|
||||||
|
]);
|
||||||
|
return redirect()->to(site_url('bag/code-kinds'))->with('error', '세부코드 조회 중 오류가 발생했습니다. 관리자에게 로그 확인을 요청해 주세요.');
|
||||||
|
}
|
||||||
|
|
||||||
helper('admin');
|
helper('admin');
|
||||||
$level = (int) session()->get('mb_level');
|
$level = (int) session()->get('mb_level');
|
||||||
|
|||||||
Reference in New Issue
Block a user