Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: 프로파일별 로그 레벨 설정 #775

Merged
merged 3 commits into from
Sep 16, 2024

Conversation

uwoobeat
Copy link
Member

@uwoobeat uwoobeat commented Sep 16, 2024

🌱 관련 이슈

📌 작업 내용 및 특이사항

  • 개발서버, 상용서버에 불필요한 로그 설정을 제거하여 sentry가 필요한 로그만을 캡쳐하도록 했습니다.
  • 로컬환경에서 sql 로그가 남도록 변경했습니다.
  • openfeign 관련 sentry integration을 추가했습니다.

📝 참고사항

📚 기타

Summary by CodeRabbit

  • 새로운 기능

    • Sentry와의 통합을 위한 sentry-openfeign 라이브러리 추가로 오류 추적 및 모니터링 기능 향상.
  • 버그 수정

    • 로깅 구성 조정으로 특정 패키지의 로그 레벨 변경, 성능 개선 및 로그 가독성 향상.
  • 문서화

    • Hibernate SQL 쿼리의 가시성을 높이기 위해 highlight_sql 속성 추가.

@uwoobeat uwoobeat self-assigned this Sep 16, 2024
@uwoobeat uwoobeat requested a review from a team as a code owner September 16, 2024 10:14
Copy link

coderabbitai bot commented Sep 16, 2024

Walkthrough

이 변경 사항은 build.gradle 파일에 sentry-openfeign 라이브러리 의존성을 추가하고, FeignConfig.java 파일에 Sentry와의 통합을 위한 새로운 메서드를 추가합니다. 또한, 여러 application-*.yml 파일에서 로깅 설정을 조정하여 특정 패키지의 로깅 레벨을 변경하거나 추가하는 작업이 포함되어 있습니다.

Changes

파일 경로 변경 요약
build.gradle implementation 'io.sentry:sentry-openfeign:7.14.0' 추가
src/main/java/com/gdschongik/gdsc/infra/feign/global/config/FeignConfig.java public Capability sentryCapability() 메서드 추가
src/main/resources/application-dev.yml org.springframework.orm.jpa, org.springframework.transaction의 DEBUG 레벨 제거; com.gdschongik.gdsc.domain.*.api.*를 INFO로, com.gdschongik.gdsc.infra.feign을 DEBUG로 설정
src/main/resources/application-local.yml highlight_sql 속성 추가; 로깅 레벨 변경 및 Hibernate 관련 SQL 로깅 설정 조정
src/main/resources/application-prod.yml org.springframework.orm.jpa, org.springframework.transaction의 DEBUG 레벨 제거; com.gdschongik.gdsc.domain.*.api.*를 INFO로 설정
src/main/resources/application.yml com.gdschongik.gdsc.domain.*.api.*의 로깅 레벨을 DEBUG에서 INFO로 변경; com.gdschongik.gdsc.infra.feign의 로깅 레벨 제거

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant FeignClient
    participant Sentry

    User->>FeignClient: 요청 전송
    FeignClient->>Sentry: 에러 발생 시 에러 추적
    Sentry-->>FeignClient: 에러 정보 수집
    FeignClient-->>User: 응답 반환
Loading

Assessment against linked issues

Objective Addressed Explanation
프로파일별 로그 레벨 설정 (#717)

🐰 새로운 의존성 추가하고, 로그를 조정해
🐇 Sentry와 함께 오류를 추적해
🌟 정보는 더 명확하게, 디버깅은 수월하게
🎉 모든 변화가 기쁘게, 함께 뛰어놀아!


Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between a1549ca and 8d37ff0.

Files selected for processing (6)
  • build.gradle (1 hunks)
  • src/main/java/com/gdschongik/gdsc/infra/feign/global/config/FeignConfig.java (2 hunks)
  • src/main/resources/application-dev.yml (1 hunks)
  • src/main/resources/application-local.yml (1 hunks)
  • src/main/resources/application-prod.yml (1 hunks)
  • src/main/resources/application.yml (1 hunks)
Additional comments not posted (9)
src/main/resources/application-prod.yml (1)

11-11: 로깅 레벨 변경 사항을 승인합니다.

프로덕션 환경에서 Spring ORM 및 트랜잭션 관련 패키지의 로깅 레벨을 제거하고, 도메인 API에 대한 로깅 레벨을 INFO로 설정한 것은 적절해 보입니다. 이를 통해 불필요한 로그를 줄이고 중요한 정보에 집중할 수 있을 것입니다.

추가적으로 다음 사항을 고려해 보시기 바랍니다:

  • 도메인 API 이외의 다른 중요한 패키지에 대해서도 적절한 로깅 레벨을 설정하는 것이 좋겠습니다.
  • 프로덕션 환경에서 문제 발생 시 디버깅에 필요한 정보가 부족할 수 있으므로, 필요에 따라 로깅 레벨을 조정할 수 있는 방안을 마련해 두는 것이 좋겠습니다.
src/main/resources/application-dev.yml (2)

11-11: 변경 사항이 적절해 보입니다!

개발 환경에서 도메인 패키지의 API 계층에 대해 "info" 수준의 로깅을 설정하는 것은 합리적인 선택으로 보입니다. 이를 통해 API 동작에 대한 유용한 정보를 얻을 수 있을 것입니다.


12-12: 좋은 변경 사항입니다!

개발 환경에서 Feign 클라이언트 인프라 패키지에 대해 "debug" 수준의 로깅을 설정하는 것은 적절한 선택입니다. 이를 통해 Feign 관련 이슈를 디버깅하고 문제를 해결하는 데 필요한 상세한 로그를 얻을 수 있을 것입니다.

src/main/resources/application.yml (1)

20-20: 변경 사항이 PR 목적에 부합합니다.

com.gdschongik.gdsc.domain.*.api.* 패키지의 로깅 레벨을 debug에서 info로 변경하는 것은 로그의 상세 수준을 조정하여 성능을 개선하는 데 도움이 될 수 있습니다. 이는 PR의 프로파일별 로그 레벨 설정 목적에 잘 부합합니다.

com.gdschongik.gdsc.infra.feign 패키지의 로깅 레벨 설정이 제거된 것이 의도한 것인지, 그리고 필요한 경우 다른 곳에서 적절히 처리되는지 확인해 주세요.

#!/bin/bash
# Description: Verify if the removed logging level for `com.gdschongik.gdsc.infra.feign` is intentional and properly handled elsewhere if needed.

# Test 1: Search for the removed logging level configuration. Expect: No occurrences found.
rg --type-add 'yml:*.yml' --type yml $'com\.gdschongik\.gdsc\.infra\.feign' 

# Test 2: Search for any logging level configuration for `com.gdschongik.gdsc.infra.feign` in other files. Expect: Occurrences if it's configured elsewhere.
fd --type f --extension yml --exec rg $'com\.gdschongik\.gdsc\.infra\.feign'
src/main/resources/application-local.yml (3)

13-13: SQL 쿼리 하이라이팅 설정 추가

highlight_sql 속성을 true로 설정하면 로그에서 SQL 쿼리를 더 잘 볼 수 있도록 하이라이트됩니다. 이는 디버깅과 성능 분석에 도움이 될 수 있습니다.


19-20: 특정 패키지에 대한 디버그 로깅 레벨 설정

com.gdschongik.gdsc.domain.*.api.*com.gdschongik.gdsc.infra.feign 패키지에 대해 로깅 레벨을 debug로 설정하면 이 영역에서 애플리케이션의 동작을 이해하는 데 도움이 되는 상세한 로그를 제공합니다.


21-22: Hibernate 관련 SQL 로깅 설정 개선

org.hibernate.SQL을 DEBUG로 설정하면 Hibernate에서 실행되는 모든 SQL 문이 로깅됩니다.
org.hibernate.orm.jdbc.bind를 TRACE로 설정하면 SQL 문에 대한 매개변수 바인딩이 로깅됩니다.
이를 통해 SQL 실행 및 매개변수 바인딩에 대한 보다 세분화된 로깅이 가능합니다.

src/main/java/com/gdschongik/gdsc/infra/feign/global/config/FeignConfig.java (1)

47-50: Sentry 통합을 통한 Feign 클라이언트의 오류 추적 및 모니터링 기능 향상

SentryCapability를 빈으로 등록함으로써 Feign 클라이언트에 Sentry와의 통합 기능을 추가하였습니다. 이를 통해 애플리케이션에서 발생하는 오류를 보다 쉽게 식별하고 진단할 수 있게 되었습니다. Sentry와의 통합은 애플리케이션의 가시성을 높이고 문제 해결을 용이하게 만드는 데 도움이 될 것입니다.

변경 사항이 간단하고 명확하며, 특별한 이슈나 복잡성이 발견되지 않았습니다.

build.gradle (1)

102-102: LGTM!

sentry-openfeign 의존성을 추가하는 것은 OpenFeign 관련 작업에 대한 오류 추적 및 모니터링 기능을 향상시키는 좋은 변경 사항입니다. 버전도 기존 sentry-logback 의존성과 일치하여 일관성을 유지하고 있습니다.

다만, 이 새로운 의존성이 기존 Sentry 설정과 제대로 통합되려면 추가 구성이 필요할 수 있습니다. 필요한 경우 Sentry 구성을 업데이트해야 합니다.

Warning

Review ran into problems

Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    -- I pushed a fix in commit <commit_id>, please review it.
    -- Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    -- @coderabbitai generate unit testing code for this file.
    -- @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    -- @coderabbitai generate interesting stats about this repository and render them as a table.
    -- @coderabbitai read src/utils.ts and generate unit testing code.
    -- @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    -- @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

Job Summary for Gradle

Check Style and Test to Develop :: build-test
Gradle Root Project Requested Tasks Gradle Version Build Outcome Build Scan®
gdsc check 8.5 Build Scan published

Copy link
Member

@Sangwook02 Sangwook02 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Member

@AlmondBreez3 AlmondBreez3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@uwoobeat uwoobeat merged commit e60e0d9 into develop Sep 16, 2024
1 check passed
@uwoobeat uwoobeat deleted the chore/717-profile-log-level branch September 16, 2024 19:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

⚙️ 프로파일별 로그 레벨 설정
3 participants