Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
proxy-manager-backend
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
aolda
proxy-manager-backend
Merge requests
!13
feat: 시스템 로그 출력 및 저장
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
feat: 시스템 로그 출력 및 저장
feat/log
into
dev
Overview
0
Commits
1
Pipelines
0
Changes
7
Merged
천 진강
requested to merge
feat/log
into
dev
2 months ago
Overview
0
Commits
1
Pipelines
0
Changes
7
Expand
변경 사항
시스템 로그 출력
시스템 로그 저장 및 압축
PR 유형
어떤 변경 사항이 있나요?
새로운 기능 추가
버그 수정
코드에 영향을 주지 않는 변경사항(오타 수정, 탭 사이즈 변경, 변수명 변경)
코드 리팩토링
주석 추가 및 수정
문서 수정
테스트 추가, 테스트 리팩토링
빌드 부분 혹은 패키지 매니저 수정
파일 , 폴더명 , 파일 경로 수정
파일 혹은 폴더 삭제
반영 브랜치
feat/log-> dev
기타
0
0
Merge request reports
Compare
dev
dev (base)
and
latest version
latest version
1c4faf35
1 commit,
2 months ago
7 files
+
153
−
115
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
7
Search (e.g. *.vue) (Ctrl+P)
src/main/java/com/aolda/itda/config/LoggingFilter.java
0 → 100644
+
51
−
0
Options
package
com.aolda.itda.config
;
import
jakarta.servlet.FilterChain
;
import
jakarta.servlet.ServletException
;
import
jakarta.servlet.http.HttpServletRequest
;
import
jakarta.servlet.http.HttpServletResponse
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.filter.OncePerRequestFilter
;
import
org.springframework.web.util.ContentCachingRequestWrapper
;
import
java.io.IOException
;
@Component
public
class
LoggingFilter
extends
OncePerRequestFilter
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
LoggingFilter
.
class
);
@Override
protected
void
doFilterInternal
(
HttpServletRequest
request
,
HttpServletResponse
response
,
FilterChain
filterChain
)
throws
ServletException
,
IOException
{
// Request Body를 읽을 수 있도록 래핑
ContentCachingRequestWrapper
cachingRequest
=
new
ContentCachingRequestWrapper
(
request
);
System
.
out
.
println
(
"필터 적용"
);
filterChain
.
doFilter
(
cachingRequest
,
response
);
// 로그 기록
logRequest
(
cachingRequest
);
System
.
out
.
println
(
"왜 안돼ㅐ"
);
}
private
void
logRequest
(
ContentCachingRequestWrapper
request
)
{
System
.
out
.
println
(
"되는거 맞아?"
);
String
ip
=
request
.
getRemoteAddr
();
String
method
=
request
.
getMethod
();
String
uri
=
request
.
getRequestURI
();
String
queryString
=
request
.
getQueryString
();
String
body
=
getRequestBody
(
request
);
logger
.
info
(
"IP: {}, Method: {}, URI: {}, Query Params: {}, Request Body: {}"
,
ip
,
method
,
uri
,
(
queryString
!=
null
?
queryString
:
"None"
),
(!
body
.
isEmpty
()
?
body
:
"None"
));
}
private
String
getRequestBody
(
ContentCachingRequestWrapper
request
)
{
byte
[]
buf
=
request
.
getContentAsByteArray
();
return
(
buf
.
length
>
0
)
?
new
String
(
buf
)
:
""
;
}
}
Loading