# logger

40개의 포스트

Android Logger

🔥 Android 에서 Logger 사용하기 (Kotlin) github https://github.com/orhanobut/logger Android 에서 Log 를 사용하여 디버깅하는 경우가 자주 있다. Log 를 사용할 때, 좀 더 편하게 사용하기 위해 라이브러리를 자주 사용하는데, 유명한 것으로 Timber 나 Logger 가 있다. Timber 를 보았을 때, 기본 Log 와 큰 차이는 없는 것 같아 Logger 를 사용해보았다. 아래에서 Logger 의 사용법과 결과를 알아보자. ✓ build.gradle ✓ 초기화 Logger 사용 전에 Logger 의 초기화 작업이 필요하다. 모든 곳에서 사용하기 위해 Application class 를 생성하여 초기화 작업을 진행하였다. formatStrategy 를 사용하여 세부 사항을 설정할 수 있다. 자세한 사항은 github 주소에서

2023년 8월 31일
·
0개의 댓글
·
post-thumbnail

[JAVA] Logger 사용하기

안녕하세요 오늘은 Logger를 사용하여 콘솔창에 로그를 띄어보도록 하겠습니다 😎 Logger란? 시스템 운영에 대한 기록을 용이하게 남기게 해줄수 있는 클래스 로그 레벨은 TRACE > DEBUG > INFO > WARN > ERROR로 구성되어있음 일반적으로 개발 서버는 debug, 운영서버는 info로 설정 😎 로그 선언하는법 😎 로그 레벨 설정 스트링 부트 기준 application.properties에 설정 간단하게 Logger의 기능에 대해 알아봤습니다 그렇다면 직접 Logger 클래스를 통해 log를 찍어보도록 하겠습니다 LoggerFactory를 통해 Logger를 생성하였고 Logger.info, Logger.error, Logg

2023년 8월 17일
·
0개의 댓글
·

Django Logger 설정

[ Django ] Django logging 하기 - YEOL

2023년 8월 7일
·
0개의 댓글
·
post-thumbnail

[NestJS] LoggerMiddleware 로 로그 남기기

공식 문서 : https://docs.nestjs.com/middleware 기본 형태 커스텀 method, url statusCode를 일단 제일 윗줄에 남기고 request의 params, query, body, headers를 남기고 마지막으로 response의 status와 body를 남기도록 커스텀하였다. 사용법 AppModule 클래스에 위와 같이 등록하면 된다. 이와 같이 하면 모든 경로에 미들웨어를 적용시키는 건데 나는 헬스체커로 계속 요청이 가는 /heath 경로만 제외 시켰다. 로그 예시 성공 시 에러났을 시 이거는 로그 두개가 같이 남은 경우이다. db에러 같은 에러가 났을 시에는 그 즉시 로그에 대한 에러를 남기고 미들웨어를 통해서 그 에러가 난 요청과 응답에 대한 기본적인 로그도 또 남게 된다. 두개를 같이보면 에러에 대한 정보를 상세히 알고 빠르게 해결하기 용이할 것이다. 슬랙 알림

2023년 7월 26일
·
0개의 댓글
·

Custom Logger로 통신 문제 해결

어느날 평소에 잘 사용 하던 고객사로 부터 새벽에 앱 접속이 안된다는 연락을 받았다 문제 진단을 위해 앱에서는 OKHttpClient의 connectTimeout, readTimeout, writeTimeout 값 확인 및 API 테스트를 했지만 timeout은 각각 120초로 잘 설정 되어 있었고 테스트에도 문제는 없었다 서버쪽에서도 문제 해결을 위해 timeout 로그를 확인 했지만 관련 로그는 남아 있는게 없었다고 했다 혹시나 하는 마음에 몇몇 API에 Firebase Crashlytics 로그를 남겨 놓은 부분을 확인 했고 로그인 뿐만 아니라 스캔이나 그 외 다른 API 에서 timeout 에러가 나는게 확인 됐다 java.net.SocketTimeoutException: timeout 하지만 이 로그들만으로 문제를 확실히 파악 하기가 불가능 했던게 먼저 Firebase Crashlytics 로그를 모든 API에 연결 해놓지 않았어서

2023년 7월 6일
·
0개의 댓글
·
post-thumbnail

@Slf4j 이해하기

@Slf4j 에 대해서 알아보기 slf4j에 대해서 자세히 설명하는 좋은 블로그가 많이 존재하여 여기서는 loback-spring 을 보고 이해 할 수 있는 정도로만 다루고 넘어가려고 한다. slf4j는 다양한 로깅 프레임워크에 대한 추상화(인터페이스) 역할을 하기 때문에 배포시에는 원하는 구현체를 선택해서 사용해야 한다. Spring에서는 기본적으로 logback을 사용한다. logback 설정 요소 3가지 Logger : 실제 로깅을 구성하는 요소 Appender : 로그 이벤트를 쓰는 작업을 Appender에 위임하여 어디에 출력할지 결정하게 된다. Layout : Appender 에 포함되어 사용자가 지정한 형식으로 표현될 로그 메세지를 변환하는 역할을 담당한다. 아래와 같은 간단한 예시를 통해서 알아보도록 하자. Property는 변수를 저장하는 공간이며 Log pattern을 통해서 출력 형식을 정하고 로그

2023년 6월 30일
·
0개의 댓글
·
post-thumbnail

pino logger

https://getpino.io logger webhook webhook.mjs $ node webhook.mjs pino application app.mjs stream.mjs $ node app.mjs 실행 결과 webhook application

2023년 6월 6일
·
0개의 댓글
·

Logger 사용하기

Logger를 사용해야 하는 이유 logger와 System.out.println은 로그 또는 정보를 출력하는 데 사용되는 두 가지 다른 방법입니다. 그러나 몇 가지 중요한 차이점으로 인해, 서비스 개발 시에는 Logger를 주로 사용합니다. 로그 레벨: logger는 로그 레벨을 지원합니다. 로그 레벨을 사용하면 애플리케이션에서 발생하는 이벤트의 중요도에 따라 로그를 분류할 수 있습니다. 일반적인 로그 레벨은 TRACE, DEBUG, INFO, WARN, ERROR 등입니다. 반면에 System.out.println은 로그 레벨을 지원하지 않으며, 모든 메시지를 동일한 방식으로 출력합니다. 출력 대상: logger는 다양한 출력 대상으로 로그를 전송할 수 있습니다. 예를 들어, 로그를 파일, 데이터베이스, 콘솔, 원격 서버 등에 저장할 수 있습니다. 반면에 System.out.println은 콘솔에만 출력합니다. 출력 형식: logger

2023년 5월 7일
·
0개의 댓글
·

230313 Spring boot MVC2

lombok lombok 을 사용하여 클라이언트로부터 요청과 데이터를 받아 표시해본다. 로그인 화면 > LoginController.java : Controller mapping. forward가 기본값. 클라-서버이기때문에 redirect로 명시. views폴더는 클라이언트의 요청으로는 접근할 수 없다. 따라서 login.html은 WEB-INF의 밖에서 작성해야함 이제 form에서 loginget이라는 요청명으로 전송한 파라미터값을 기존방법, Spring에서의 방법을 비교해본다. > 기존방법 request.getParameter 로 보낸값을 변수에 받고, model.addAttribute 로 model에 데이터를 반영한다. return "result" 뷰를 선택 > Spring 방식 Spring에서는 파라미터->변수 저장을 @RequestParam을 이용하여 단번에 한다. value에는 요청명, 그후엔 변수타입

2023년 3월 13일
·
0개의 댓글
·

[Ethers js] log level 설정하기

ethers js 라이브러리 사용 중, ethers js에 내장된 Logger가 보고 싶지 않은 로그를 자꾸 콘솔창에 출력해 주는 경우가 있었습니다. 제 경우에는, 여러 개의 ABI 파일을 합치는 과정에서 duplicate definition이 뜨는 경우였는데, 현재는 중복을 제거하는 로직을 추가하는 방향으로 해결하였지만, Ethers js의 Logger의 log level을 조정하는 것이 필요한 경우가 있을 수 있을 것 같아 기록합니다. > 1. 아래의 코드는 Nest js 프레임워크에 기반하여 작성하였습니다! > 2. ethers js 5.6.9 버전을 사용하였습니다! ethers.utils.Logger.levels는 DEBUG, INFO, WARNING, ERROR, OFF 총 5개의 값을 갖는 enum 타입이라는 점 외에는, 사실 코드 자체는 한 줄이라 간단했습니다! 다만, Logger를 **`@etherspr

2023년 3월 4일
·
0개의 댓글
·

Logger 알아보기

iOS에서 코드를 작성하면서 동작 상태를 확인하기위해 print()를 주로 사용했다. 그러다 Logger를 알게됐고, print로 찍는 것과 어떤 점이 다를까 찾아보았다. Logger에 대한 기본적인 사항들을 https://developer.apple.com/documentation/os/logger 에서 살펴보고 번역 및 정리를 해봤다. Logger Logger는 통합 로깅 시스템으로 보간된 문자열 메시지를 작성하기 위한 객체다. Logger 구조체를 생성하고 이를 사용하여 앱 동작에 대한 로그 메시지를 기록한다. 로그 메시지를 기록할 때는, 메시지와 함께 앱 상태를 평가하는 데 도움이 되는 프로그램 변수 또는 사용자 지정 데이터를 지정한다. 또한, 메시지의 심각성을 나타내기 위해 로그 레벨을 선택할 수 있다. 시스템은 로그 메시지를 메모리에 기록하고, 경우에 따라 온디스크 데이터 저장소에도 기록한다. 로그 레벨은 메모리에 유지될 메시지와 디스크로 이동할 메시지를

2023년 3월 3일
·
0개의 댓글
·

로깅

logging 운영 시스템에서는 System.out.println()같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력한다. 참고로 로그 관련 라이브러리도 많고, 깊에 들어가면 끝이 없음으로 최소한의 사용 방법만 알아본다. 로깅 라이브러리 스프링 부트 라이브러리를 사용하면 부트 로깅 라이브러리(spring-boot-starter-logging)가 함께 포함된다. 스프링 부트 로깅 라이브러리는 기본으로 다음 로깅 라이브러리를 사용한다. SLF4J - http://www.slf4j.org Logback - http://logback.qos.ch 로그 라이브러리는 Logback,Log4J,Log4J2 등등 수 많은 라이브러리가 있는데, 그것을 통합해서 인터페이스로 제공하는 것이 바로 SLF4J 라이브러리이다. 쉽게 이야기해서 SLF4J는 인터페이스이고, 그 구현체로 Logback 같은 로그 라이브러리를 선택하면

2022년 12월 27일
·
0개의 댓글
·
post-thumbnail

[JavaScript] Winston

자 ! 오늘은 Winston 에 대해 알아보는 시간을 가집시다. > Winston을 사용하는 목적은 로그를 꼼꼼히 남기고 싶을때 사용한다. Log는 에러를 파악할 수 있는열쇠이기 때문에 서버를 운영한다고 하면 Log 시스템을 구축해서 운영해야한다. Node.js 에서 Log를 효율적으로 관리할 수 있게 도와주는 모듈이 바로 오늘 사용해볼 Winston 이다 ! > 🧑‍🏫 아뉘 선생님 질문이욥 ! 🖐 console.log 나 console.error 가 있눈뒈 왜 귀찮게 Winsto

2022년 12월 7일
·
0개의 댓글
·

[스프링부트] Logger

사용방법 1. Import 2. Logger 객체 생성 3. Logger 메시지 지정 사용예제

2022년 11월 24일
·
0개의 댓글
·
post-thumbnail

print vs NSLog

print와 NSLog는 어떤 차이점이 있을까? Log를 사용해야 하는 이유는 여기를 참고하자. 예시 print vs. NSLog | print | NSLog | |---|---| | - String 제외 타입도 출력 가능 - Device console에서만 출력됨 - NSLog보다 빠름 - Single Thread.| - String 타입만 출력 가능 - Time Stamp와 Project 이름이 같이 출력됨 - Device, Debugger Console 모두에서 출력됨 - print보다 느림 - Multi Thread 지원, Thread Safe| 더 알아보기 이제는 WWDC 2020에 나온 Logger를 사용하는 것이 좋다. 이는 추후 정리해볼 예

2022년 11월 11일
·
0개의 댓글
·
post-thumbnail

Why We Should Use Logger

특정 값을 찍을 때 print를 찍기 일수다. 쉬우니까. 하지만 이 습관은 좋지 않다. 왜 인지 알아보자. 핵심 요약 이슈 트래킹 시간 감소 print 대비 성능 높음 (multi thread) 코드 동작의 속도 파악 코드의 위치 파악 코드의 스레드 파악 문제가 되지 않는다고 생각하는 이유 어차피 출력 결과보는 건데, 굳이 사용해야 하는가? 개발 이후에 확인하기 위한 용도도 아니고, 개발 과정중 사용할 때 출력 비교용이라면 똑같은 용도아닌가? 많은 정보가 추가적으로 나오는 건 알겠는데, 왜 써야하는지에 대해서는 모르겠다. 즉, 단순 출력용으로 사용할 경우 크게 필요성을 못느낄 수 있다. 그리고 나중을 위해 Logger를 심어놓는 용도가 아니라면 둘의 차이를 모를 수 있다. 하지만, 어느 경우에 Logger를 사용하면 좋은지에 대해 명확히 알고, 단순 출력 용으로 선택하여 print문을 선택하는 것과는 차이가 있다. Log

2022년 11월 11일
·
0개의 댓글
·
post-thumbnail

82. logger 사용하기

pom.xml에 추가하기 파일만들기 src-main-resources-new-file-파일명 : log4jdbc.log4j2.properties (확장자 없음) 이 부분을 입력한다 log4j.xml에 설정추가하기 3rdparty Loggers는 빼거나 주 석처리 root-context.xml에 추가하기 dirverclassName을 변경하고 url의 jdbc와 oracle사이에 log4jdbc:를 해준다 해당 level value의 따라 해당값들이 출력된다

2022년 10월 11일
·
0개의 댓글
·
post-thumbnail

logger사용해보기

파이널 프로젝트에 logger를 사용해보고 싶어서 찾아봤다. system.out.println은 서버에 부담을 주고 보안문제를 일으킬수 있다고 한다. 깔끔하게 정리된 블로그가 있어서 따라해볼수있었다. pom.xml에 logger 라이브러리 설치하기 log4j라는 라이브러리다. logger를 가장 편하게 쓰는 라이브러리라고 한다. log4j.xml만들기 main- resorces 폴더에 해당 파일을 만든다. `` 에 logger를 사용할 클래스 명을 적는다. logger를 사용할 클래스 필요한 라이브러리를 import하고 log를 선언한다. 이런식으로 println은 대체하여 사용할수있다. 결과 > > > > 2022-10-06 18:50:14,812 DEBUG [http-nio-88

2022년 10월 6일
·
0개의 댓글
·

[go] Go에서 zap logging package 사용하기

zap을 활용한 logging > zap은 Time, Time % to zap을 보았을 때 가장 빠르게 작동한다. 다만,Objects Allcated를 보았을 때는 object당 할당되는 것이 구조화되게끔 작성해야한다는 것을 알 수 있다. https://github.com/uber-go/zap SugaredLogger 구조화된 로깅 패키지보다 4-10배 정도 빠르기를 가지며 구조화된 logging, printf style logging지원, key-value 쌍을 허용한다. > https://github.com/uber-go/zap/blob/master/sugar.go 에서 supar logger 확인이 가능하다. sugar.Infow를 확인해보면 위와 같다. infow는 method and receiver 구성이 되어있고 sugar를 pointer를 통해 참조하여 그 값을 사용할 수 있다. msg를 첫번재 arg로 이후에는 keyAndValues

2022년 9월 27일
·
0개의 댓글
·
post-thumbnail

Logger

20220822 ># 한 번에 끝내는 Java/Spring 웹 개발 마스터 1) Logger란? 시스템 운영에 대한 기록인 log를 남기는 것이 logger다. log를 잘 남기면, 오류가 발생했을때, 디버깅이 용이해지고, 시스템 에러가 어떤 부분에서 발생했는지를 추적해서 확인 할 수 있다. java.util.logging이라는 log package를 활용해서 파일이나 콘솔에 로그 내용을 출력할 수 있다. 2) MyLogger 3) MyLoggerTest 위의 코드를 실행하면, 8월 22, 2022 4:12:18 오후 ch11.MyLogger log 정보: test 8월 22, 2022 4:12:18 오후 ch11.MyLogger log 경고: test 8월 22, 2022 4:12:18 오후 ch11.MyLogger log 심각: test 이라는 출력값을 얻고, 파일에 기록되는 것들을 볼 수 있다.

2022년 8월 22일
·
0개의 댓글
·