사실 이 log4net과 log4j는 같은 라이브러리인데 사용하는 언어가 C#이냐 Java이냐의 차이만 있을 뿐입니다.
전의 글에서도 로그에 대해 간략하게 설명했었는데 정리해서 다시 설명하겠습니다.
로그라는 것은 프로그램을 개발하는 데 있어서 데이터 추적과 호출된 클래스와 함수등을 조사하기 위해 사용하는 라이브러리입니다.
보통 개발을 할 때는 IDE툴을 이용해서 디버깅을 하면 데이터 추적을 할 수 있지만 개발이 끝나고 나서 프로그램이 컴파일 되고 Production에 릴리즈가 되면 데이터 추적하기가 쉽지 않습니다.
그러나 완벽한 프로그램이라면 문제가 없겠지만 인간이 만든 프로그램이기 때문에 버그가 발생하고 그 버그로 인해 잘못된 연산을 하거나 에러가 발생합니다. 에러가 발생할 때는 데이터를 추적할 수 있어야 하는데..
그 때, 추적을 할 수 있는 여러 방법 중에 가장 간편한 방법 중에 하나로 로그를 남기고 추적하는 방법입니다.
그 외에 로그는 꼭 에러 추적만이 아닌 여러 행동 패턴을 남기고, 또는 유저의 행동등을 추적하여 여러 통계자료로도 활용할 수 있습니다.
그럼 Java에서 Log4j를 사용하기 위해서는 maven를 통해서 log4j를 다운 받아야 합니다.
코드
d:\log4j.xml
log4j의 경우는 log4net과 다르게 소스상에서 설정은 없는 것 같습니다. 원래는 있는데 제가 찾지를 못하는 것일 수도 있습니다.
링크 - https://logging.apache.org/log4j/2.0/manual/api.html
저의 경우는 property설정으로 log4j파일을 지정했습니다만, 사실 웹 프로젝트라면 resource 폴더에 넣고 별도의 설정이 없이도 xml를 찾아 읽을 것 입니다.
그러니 log4j.xml 설정을 하기 위해 resource 경로 설정에 대해 신경 쓰지 않아도 될 것 같습니다.
그리고 xml 설정이 아니라 json 설정으로도 되는 듯 싶습니다. 그러나 개인적으로 환경설정 파일은 xml이 낫지 않을 까 싶네요. json은 편하긴 하지만 가독성이 좀 떨어져서...
여기까지 Java에서 사용하는 로그 라이브러리(log4j)에 대한 글이었습니다.
이건 참고하면 좋을 듯,,
[Logging] slf4j, log4j, logback, log4j2
'■ JAVA > Study' 카테고리의 다른 글
[JAVA] 배열 , Array (다차원배열, 배열문제 ) (0) | 2021.02.23 |
---|---|
[JAVA] Java의 메모리 구조_기본 구조 (0) | 2021.02.17 |
[Java] XML를 Xpath를 이용하여 데이터를 취득하는 방법(XPathFactory) (0) | 2020.10.10 |
[Java] Jsoup를 이용해서 XML파일(HTML)을 다루는 방법 ★ (0) | 2020.10.10 |
[Java] 직렬화(Serializable) 개념 ★★ (0) | 2020.10.09 |