본문 바로가기

Spring Boot

Sentry Log / google 애널리틱스

Spring-boot

프로젝트 googleapp 만들어서 Sentry Log, livere (댓글 공유), google 애널리틱스 적용해 보자

 

https://github.com/Moonseonhyeon/Spring-boot--googlanalytics-centry

Sentry

 

로그파일 aop로

 

스프링 앱을 센트리로 감시 (+스프링에서의 커스텀 예외처리 약간)

 

https://sentry.io/welcome/

 

Application Monitoring and Error Tracking Software

Self-hosted and cloud-based error monitoring that helps software teams discover, triage, and prioritize errors in real-time.

sentry.io

우리나라 공공 에서는 잘 안씀.

 

해외에서 잘 씀

 

 

 

프로젝트 만들기

팀이름 cos로해서 만드세요 그러면 서버를 만든 거에요.

회사에서는 외부 포트 다 막아둠. web서버 하나만 열려있음.

회사밖에서 개발자들이 로그 읽어야할 때 곤란.

sentry가 개발자들이 회사 밖에서 볼 수 있게 로그들을 홈페이지로 만들어서 제공해준다!

 

 

언어 설정 변경

처음에 프로젝트만들 때 아무거나로 만들고 나서 아래에 페이지에서 설정 변경할 수 있어요.

저기 없으면 other로 설정하기.

 

 

 

 

DSN이랑 key복사해두기

 

 

문서보기

 

Getting Started

아래와 같이 언어 자바로 해서

 


 

이 문서를 보고 하자

 

https://docs.sentry.io/clients/java/usage/

 

 

Manual Usage

 

docs.sentry.io

 

 

 

 

validation 오류메세지 centry로 던지거나  
로그파일 만들면 된다.

 

오류 난거 최대한 요약해서 심플한거 message만 보내요.

회사밖에서는 센트리로 보내진 요약된 오류 메세지를 보면 된다.

 

로그는 파일로 만들어서 회사에 남겨두기!

 

 

 

globalException에서 메서드 실행될 때 centry로도 또 던지기

 

 

 

 

로그 파일 만들기

 

 

logtest 프로젝트 만들기

 

 

 

 

공부할 거 없음. 한번세팅하면 끝임.

 

https://blog.naver.com/getinthere/221799123006

 

 

더보기
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property name="LOGS_ABSOLUTE_PATH" value="./logs" />

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level %logger{36} - %msg%n</Pattern>
        </layout>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 폴더를 날짜별로 정리해서 파일명 계속 바뀌면서 만들어줌-->
        <file>${LOGS_ABSOLUTE_PATH}/logback.log</file>
        <encoder>
            <pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOGS_ABSOLUTE_PATH}/logback.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>5MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>

	<root level="INFO">
    	<appender-ref ref="STDOUT" />
    </root>
    <!-- 로그는 해당 레벨 위로는 다 기록된다. 예를 들어 debug info warn error가 찍힘. -->
   <!-- debug -> info -> warn -> error --> 
    <logger name="com.cos.logtest.config.aop.warn" level="DEBUG">
        <appender-ref ref="FILE" />
    </logger>

</configuration>

RollingFileAppender

폴더를 날짜별로 정리해서 파일명 계속 바뀌면서 만들어줌

 

설정을 로그레벨을 하면 debug이상레벨로 설정하면

전부다 찍힘.

 

 

refresh하면 logs폴더가 생깁니다.

 

loback.log파일에 logback-spring.xml에서 설정한 로그 레벨에 오류들이 표시된다.

 

 


 

구글 애널리틱스

 

https://analytics.google.com/analytics/web/?hl=ko&pli=1#/p211763006/reports/home

 

Redirecting...

 

analytics.google.com

 

: 우리 사이트를 사용자들이 어떻게 사용하고 있는지 분석해주는

로그의 일종이지요. 모든 로그를 다 남겨요.

 

 

 

 

자바스크립트로 제어합니다.

 

 

 

 

 

 

 

 

 

확장자 mustache로 수정

 

 

확장자 mustache로 수정

 

일단 이 파일 삭제

 

 

일단 이파일 삭제

 

 

 

 

 

 

관련 정보를 볼 수 있다.

여기에 있는 기능들 사용하려면 하나씩 공부해야 한다.

필터같은 기능도 있고

 

aws도 좋다

 

 

 

 

좋은 기술들

 

내 서비스가 너무 커져서 돈이 비싼니까 이거 쓰지 말고

자체로 SDK 만들고 

rnb사업으로 국가에 신청하세요.

 

 

cct

 

serial통신

 

회사

 

 

 

 

 

 

https://console.firebase.google.com/?hl=ko

 

로그인 - Google 계정

하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인

accounts.google.com

 

'Spring Boot' 카테고리의 다른 글

리플렉션  (0) 2020.08.19
라이브리 livere (댓글 공유)  (0) 2020.08.18
네이버 뉴스 크롤링  (0) 2020.08.14
스프링에서 구글 FCM push 메세지 구현  (0) 2020.08.13
AOP  (0) 2020.08.11