log4j를 slf4j로 업그레이드해야합니까?


10

우리는 몇 가지 계획 리팩토링에 대한 우리의 JEE 웹 응용 프로그램을 검토하고 제안 중 하나를 대체하는 것입니다 log4j함께 logback또는slf4j

팀은 우리가이 작업을 수행해야하는지 확실하지 않습니다. 현재 파단되지 않은 경우 따르고 싶기 때문에이 영역에서 수정하지 마십시오 .

편집 : 로깅 프레임 워크의 비교를 요구하지는 않지만 log4j에 만족할 때 프레임 워크를 변경 하는 데 유용한 리팩토링 요소 인지 여부

답변:


18

고려해야 할 한 가지 중요한 질문 : 다른 사람이 사용하는 라이브러리를 구축하거나 최종 제품을 구축합니까?

첫 번째 경우 SLF4j는 매우 중요합니다. 누군가가 이미 로그인 한 소프트웨어에 라이브러리를 통합 할 것이므로 클래스에서 사용하면 좋을 것입니다.

두 번째 경우에는 그대로 두는 것이 좋습니다. 다음 프로젝트에서 slf4j를 사용하는 것에 대해 생각해보십시오.


7

하지마 유용하고 유용한 기능을 구현하는 데 시간을 더 투자하십시오.


6
-1 : 로깅이 가능한 한 양호해야합니다!

7
그래서 그들이 사용하는 log4j는 유용하지 않습니까? posibble이기 때문에 프레임 워크를 교체하는 것은 시간 낭비입니다. OP는 심지어 로깅이 중단되지 않았다고 언급했습니다.
Martin Wickman

1
나는 이것을 투표하지 않을 것입니다. 마틴이 옳을 수 있습니다. Jose가 완제품 (도서관이 아니라 내 대답 참조)을 가지고 있다면 그냥 그대로두고 다른 곳에서 시간을 보내야합니다.
Tim Büthe

2
@ Thorbjørn, no, 로깅 (일반적인 기능)은 필요한 만큼 양호해야 합니다 . Log4J에 아무런 문제가 없다면 (그것을 교체해야 할 것을 인용하지 않은 경우), 아마도 시간을 더 잘 사용할 수 있습니다.
Péter Török

1
-1 : 하나 이상의 무조건 선호가 IMHO가 잘못되었습니다. 이 답변을 Tim Bueth의 답변 조건과 대조해보십시오.
Ajeet Ganga

1

Log4J가 당신을 위해 일한다면, 그것을 바꿀 이유가 없습니다. 그렇지 않은 경우 필요한 작업을 수행하는 대안을 찾으십시오 (slf4j 일 수도 있고 아닐 수도 있음).

누군가가 다른 것보다 더 좋은 것을 말한다고해서 전체 응용 프로그램을 변경하거나 전혀 새로운 것을 채택 할 이유가되어서는 안됩니다.


0

Slf4j는 컴파일 시간을 결정하는 대신 배포시 log4j, 로그 백 또는 기본 jdk 로깅을 사용할지 여부 를 선택할 수있는 API입니다 (log4j에 직접 코딩 할 때 발생 함)

Slf4j는 또한 고가의 toString () 호출을 지연시킬 수있는 {} -construct를 제공하여 로그 명령문이 사용 가능하지 않은 경우 호출을 완전히 피합니다.

그런 다음 나중에 엔진을 선택할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.