2023-06-30 10:09 관리자 로그 관련 내용 수정

This commit is contained in:
myname 2023-06-30 10:09:54 +09:00
parent 313eb04125
commit 0486eb1e70
7 changed files with 286 additions and 107 deletions

View File

@ -285,12 +285,19 @@ public class EgovSysLogAspect {
SysLog sysLog = new SysLog();
String className = joinPoint.getTarget().getClass().getName();
String className3 = joinPoint.getSignature().getDeclaringType().getSimpleName();
String className2 = joinPoint.getTarget().getClass().getSimpleName();
String methodName = joinPoint.getSignature().getName();
String processSeCode = "C";
String processTime = Long.toString(stopWatch.getTotalTimeMillis());
String uniqId = "";
String ip = "";
System.out.println("className");
System.out.println(className);
System.out.println(className2);
System.out.println(className3);
/* Authenticated */
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(isAuthenticated.booleanValue()) {
@ -308,6 +315,7 @@ public class EgovSysLogAspect {
sysLog.setProcessTime(processTime);
sysLog.setRqesterId(uniqId);
sysLog.setRqesterIp(ip);
sysLog.setTrgetMenuNm(className3);
//sysLogService.logInsertSysLog(sysLog);
sysLogService.logInsertAdminSysLog(sysLog);

View File

@ -115,7 +115,27 @@ public class EgovSysLogServiceImpl extends EgovAbstractServiceImpl implements
System.out.println(i);
System.out.println(i);
String[] s_arr = sysLog.getSrvcNm().split("[.]");
sysLog.setTrgetMenuNm(s_arr[s_arr.length-1]);
System.out.println("=====i====="+sysLog.getTrgetMenuNm());
System.out.println("=====i====="+sysLog.getSrvcNm());
try {
//저장이 안되었으면 LETTNADMINMETHOD 테이블에 추가하고 다시 저장해보기
if (i<=0) {
//LETTNADMINMETHOD 테이블에 추가하기
i = sysLogDAO.logInsertAdminSysLogNewStep3(sysLog);
//다시 로그 남기기
i = sysLogDAO.logInsertAdminSysLogNewStep1(sysLog);
}
System.out.println("====re=i=====");
System.out.println(i);
System.out.println(i);
//그래도 저장이 안되었으면 길이잘라서 log만 저장하기
if (i<=0) {
if (sysLog.getUrl().length()>1000) sysLog.setUrl(sysLog.getUrl().substring(0,1000));

View File

@ -106,4 +106,9 @@ public class SysLogDAO extends EgovAbstractDAO {
}
public int logInsertAdminSysLogNewStep3(SysLog sysLog) throws Exception{
return update("SysLogDAO.logInsertAdminSysLogNewStep3", sysLog);
}
}

View File

@ -126,7 +126,7 @@ public class OprtnStateMngController {
* 운영현황 관리 목록 화면
*/
@RequestMapping("oprtnStateMngList.do")
public String OprtnAplctAnncmMngList(
public String oprtnStateMngList(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, ModelMap model
) throws Exception {

View File

@ -195,6 +195,7 @@
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록된 것만 insert) -->
<update id="SysLogDAO.logInsertAdminSysLogNewStep1" parameterClass="sysLog">
/* SysLogDAO.logInsertAdminSysLogNewStep1 */
INSERT INTO LETTNADMINLOG
( ADMINLOG_ID
, CONECT_ID
@ -226,6 +227,7 @@
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록된 것만 insert) -->
<update id="SysLogDAO.logInsertAdminSysLogNewStep2" parameterClass="sysLog">
/* SysLogDAO.logInsertAdminSysLogNewStep2 */
INSERT INTO LETTNADMINLOG
( ADMINLOG_ID
, CONECT_ID
@ -246,5 +248,29 @@
#url#
</update>
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록하기) -->
<update id="SysLogDAO.logInsertAdminSysLogNewStep3" parameterClass="sysLog">
/* SysLogDAO.logInsertAdminSysLogNewStep3 */
INSERT INTO lettnadminmethod (
admot_id,
method_nm,
param,
creat_dt,
menu_nm,
appro_nm,
privacy
)
SELECT
MAX(REPLACE(admot_id,'ADMOTID_','')*1)+1
, #methodNm#
, 'N'
, NOW()
, #trgetMenuNm#
, #trgetMenuNm#
, 'N'
FROM LETTNADMINMETHOD
</update>
</sqlMap>

View File

@ -124,7 +124,6 @@ function fnCheckAll(){
}
</script>
<title>로그인 로그 목록</title>
</head>
<body>
<noscript>자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다.</noscript>
@ -137,35 +136,88 @@ function fnCheckAll(){
<input type="hidden" name="pageType" value="" />
<input type="hidden" name="admotId" value="" />
<div class="contWrap">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
<h2 class="titType1 c_222222 fwBold">관리자로그설정관리</h2>
<p class="tType6 c_999999">관리자 로그 설정을 관리할 수 있습니다.</p>
</div>
<div class="pageCont">
<div class="listSerch">
<select name="searchCondition" id="searchCondition" class="select" title="검색조건선택">
<option value='' <c:if test="${searchVO.searchCondition == ''}">selected</c:if> >전체</option>
<option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected</c:if>>매뉴명</option>
<option value='2' <c:if test="${searchVO.searchCondition == '2'}">selected</c:if>>메소드명</option>
</select>
<input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="50"/>
<input type="button" class="btnType1" value="검색" onclick="fn_select('1'); return false;">
</div>
<div class="listTop">
<p class="tType5">건수 : <span class="tType4 c_456ded fwBold"><c:out value="${paginationInfo.totalRecordCount}"/></span>건</p>
<div class="rightWrap">
<!-- <input type="button" class="excelBtn" onclick="javascript:logListExcelDownload();"> -->
<input type="button" class="printBtn" >
<select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1);">
<option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${searchVO.pageUnit == '30'}">selected</c:if>>30줄</option>
</select>
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>관리자로그설정관리</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>운영관리</p>
</li>
<li><span class="cur_nav">관리자로그설정관리</span></li>
</ul>
</div>
</div>
<div class="tableWrap">
<!-- //cont_tit -->
<div class="cont">
<!-- list_top -->
<div class="list_top">
<div class="list_top_1">
<div class="util_left">
<p>조회조건</p>
</div>
<div class="util_right">
<select class="sel2 searchSel sel_type1" id="searchCondition" name="searchCondition" title="조회조건">
<option value='' <c:if test="${searchVO.searchCondition == ''}">selected</c:if> >전체</option>
<option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected</c:if>>매뉴명</option>
<option value='2' <c:if test="${searchVO.searchCondition == '2'}">selected</c:if>>메소드명</option>
</select>
<input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>" class="search_input" placeholder="검색어를 입력하세요">
<button class="btn_type08" onclick="fn_select('1'); return false;">검색</button>
</div>
</div>
<!--
<div class="list_top_2">
<div class="util_left">
<p>접속일자</p>
</div>
<div class="util_right">
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="searchStartDt" name="searchStartDt" value="${searchVO.searchStartDt}">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="endDate" name="searchEndDt" value="${searchVO.searchEndDt}">
</div>
</div>
</div>
-->
</div>
<!-- //list_top -->
<!-- list util -->
<div class="list_util">
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
<div>
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
<option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${searchVO.pageUnit == '30'}">selected</c:if>>30줄</option>
<option value='100' <c:if test="${searchVO.pageUnit == '100'}">selected</c:if>>100줄</option>
</select>
<!--
<button type="button" class="btn_type03" onclick="fncPrintListPopup(); return false;">신청서 일괄출력</button>
<button type="button" class="btn_down_excel" onclick="excelDownLoad();">엑셀 다운로드</button>
-->
</div>
</div>
<!-- list -->
<div class="list tb_type01">
<table class="tbType1">
<colgroup>
<col style="width: 8%">
@ -188,7 +240,7 @@ function fnCheckAll(){
<th>파라미터 <input type="button" class="sortBtn sort" id="sort_param"></th>
<th>개인정보여부 <input type="button" class="sortBtn sort" id="sort_privacy"></th>
<th>등록일자 <input type="button" class="sortBtn sort" id="sort_creatDt"></th>
<th>게시판관리</th>
<th>관리</th>
</tr>
</thead>
<tbody>
@ -221,28 +273,47 @@ function fnCheckAll(){
</c:if>
</tbody>
</table>
</div>
<div class="btnWrap">
<input type="button" class="btnType2" value="삭제" onclick="fn_delete(); return false;">
<input type="button" class="btnType1" value="등록" onclick="fn_insert(); return false;">
</div>
<!-- 페이지 네비게이션 시작 -->
<c:if test="${!empty logMethodList}">
<div class="page">
</div>
<!-- //list -->
<!-- btn_wrap -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="area_right">
<button type="button" class="btnType02" onclick="fncDeleteGroupPolicy(); return false;">삭제</button>
</div>
<div class="area_right">
<button type="button" class="btnType02" onclick="fncInsertLoginGroupPolicy(); return false;">등록</button>
</div>
</div>
<!-- //btn_wrap -->
<!-- 페이지 네비게이션 시작 -->
<c:if test="${!empty logMethodList}">
<div class="page">
<ul class="inline">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</ul>
</div>
</c:if>
<!-- //페이지 네비게이션 끝 -->
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</ul>
</div>
</c:if>
<!-- //페이지 네비게이션 끝 -->
</div>
</div>
</div>
<!-- //cont -->
</form>
<!--
<form name="searchForm" method="get" action="<c:url value='/sym/log/clg/SelectLoginLogList.do'/>">
<input name="pageIndex" type="hidden" value="1" />
<input name="searchCondition" type="hidden" />
<input name="searchKeyword" type="hidden" />
<input name="searchConditionSite" type="hidden" />
</form>
-->
</body>
</html>

View File

@ -149,11 +149,10 @@ function webLogListExcelDownload(){
document.frm.submit();
}
</script>
<title>로그인 로그 목록</title>
</head>
<body>
<noscript>자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다.</noscript>
<form name="frm" id="frm" action ="<c:url value='/sym/log/clg/SelectLoginLogList.do'/>" method="post">
<form name="frm" id="frm" action ="<c:url value='/sym/log/clg/SelectWebLogList.do'/>" method="post">
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
@ -162,56 +161,86 @@ function webLogListExcelDownload(){
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
<input type="hidden" name="progrmFileNm" value="" />
<div class="contWrap">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
<h2 class="titType1 c_222222 fwBold">사용자메뉴별접속통계</h2>
<p class="tType6 c_999999">사용자메뉴별접속통계 파악할 수 있습니다.</p>
</div>
<div class="pageCont">
<div class="listSerch">
<select name="searchCondition" id="searchCondition" class="select" title="검색조건선택">
<option value='' <c:if test="${searchVO.searchCondition == ''}">selected</c:if> >전체</option>
<option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected</c:if>>메뉴명</option>
</select>
<select name="dateType" id="dateType" class="select" title="검색조건선택">
<option value='D' <c:if test="${searchVO.dateType == 'D'}">selected</c:if>>일별</option>
<option value='M' <c:if test="${searchVO.dateType == 'M'}">selected</c:if>>월별</option>
<option value='Y' <c:if test="${searchVO.dateType == 'Y'}">selected</c:if>>년별</option>
</select>
<input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="50"/>
<input type="button" class="btnType1" value="검색" onclick="fn_select('1'); return false;">
</div>
<div class="listTop">
<p class="tType5">리스트 수 : <span class="tType4 c_456ded fwBold"><c:out value="${paginationInfo.totalRecordCount}"/></span>건</p>
<td colspan="3">
<input type="hidden" name="cal_url" id="cal_url" value="<c:url value='/sym/cmm/EgovNormalCalPopup.do'/>" >
<input type="text" class="date_format" name="ntceBgndeYYYMMDD" id="ntceBgndeYYYMMDD" size="10" maxlength="10" class="readOnlyClass" value="<c:out value="${searchVO.searchBgnDe}"/>" readonly >
<a href="#" onClick="javascript:fn_egov_NormalCalendar(document.forms.frm, document.forms.frm.ntceBgndeYYYMMDD);">
<input type="button" class="calBtn">
</a>
&nbsp;&nbsp;~&nbsp;&nbsp;
<input type="text" class="date_format" name="ntceEnddeYYYMMDD" id="ntceEnddeYYYMMDD" size="10" maxlength="10" class="readOnlyClass" value="<c:out value="${searchVO.searchEndDe}"/>" readonly >
<a href="#" onClick="javascript:fn_egov_NormalCalendar(document.forms.frm, document.forms.frm.ntceEnddeYYYMMDD);">
<input type="button" class="calBtn">
</a>
</td>
<div class="rightWrap">
<input type="button" class="excelBtn" onclick="javascript:webLogListExcelDownload();">
<input type="button" class="printBtn" >
<%-- <select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1);">
<option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${searchVO.pageUnit == '30'}">selected</c:if>>30줄</option>
</select> --%>
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>사용자매뉴별접속통계</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>운영관리</p>
</li>
<li><span class="cur_nav">사용자매뉴별접속통계</span></li>
</ul>
</div>
</div>
<div class="tableWrap">
<!-- //cont_tit -->
<div class="cont">
<!-- list_top -->
<div class="list_top">
<div class="list_top_1">
<div class="util_left">
<p>조회조건</p>
</div>
<div class="util_right">
<select class="sel2 searchSel sel_type1" id="searchCondition" name="searchCondition" title="조회조건">
<option value='' <c:if test="${searchVO.searchCondition == ''}">selected</c:if> >전체</option>
<option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected</c:if>>메뉴명</option>
<option value='2' <c:if test="${searchVO.searchCondition == '2'}">selected</c:if>>URL</option>
</select>
<input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>" class="search_input" placeholder="검색어를 입력하세요">
<button class="btn_type08" onclick="fn_select('1'); return false;">검색</button>
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
</div>
</div>
<div class="list_top_2">
<div class="util_left">
<p>접속일자</p>
</div>
<div class="util_right">
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="searchStartDt" name="searchStartDt" value="${searchVO.searchStartDt}">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="endDate" name="searchEndDt" value="${searchVO.searchEndDt}">
</div>
</div>
</div>
</div>
<!-- //list_top -->
<!-- list util -->
<div class="list_util">
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
<div>
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
<option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${searchVO.pageUnit == '30'}">selected</c:if>>30줄</option>
<option value='100' <c:if test="${searchVO.pageUnit == '100'}">selected</c:if>>100줄</option>
</select>
<!--
<button type="button" class="btn_type03" onclick="fncPrintListPopup(); return false;">신청서 일괄출력</button>
<button type="button" class="btn_down_excel" onclick="excelDownLoad();">엑셀 다운로드</button>
-->
</div>
</div>
<!-- list -->
<div class="list tb_type01">
<table class="tbType1">
<colgroup>
<col style="width: 5%">
@ -266,28 +295,48 @@ function webLogListExcelDownload(){
</c:if>
</tbody>
</table>
</div>
<div class="btnWrap">
</div>
<c:if test="${!empty adminLogList}">
<div class="page">
</div>
<!-- //list -->
<!-- btn_wrap -->
<!--
<div class="btn_wrap btn_layout01">
<div class="area_left">
<button type="button" class="btnType03" onclick="fncDeleteGroupPolicy(); return false;">삭제</button>
</div>
<div class="area_right">
<button type="button" class="btnType02" onclick="fncInsertLoginGroupPolicy(); return false;">등록</button>
</div>
</div>
-->
<!-- //btn_wrap -->
<!-- 페이지 네비게이션 시작 -->
<ul class="inline">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</ul>
<!-- //페이지 네비게이션 끝 -->
<c:if test="${!empty userMenuList}">
<div class="page">
<ul class="inline">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</ul>
</div>
</c:if>
<!-- //페이지 네비게이션 끝 -->
</div>
</c:if>
</div>
</div>
<!-- //cont -->
</form>
<!--
<form name="searchForm" method="get" action="<c:url value='/sym/log/clg/SelectLoginLogList.do'/>">
<input name="pageIndex" type="hidden" value="1" />
<input name="searchCondition" type="hidden" />
<input name="searchKeyword" type="hidden" />
<input name="searchConditionSite" type="hidden" />
</form>
-->
<c:import url="/uss/umt/IncInfoProtect.do" />
</body>
</html>