일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- jpa
- MSSQL
- git
- Core Java
- Eclipse
- Exception
- ubuntu
- Thymeleaf
- JDBC
- PostgreSQL
- MySQL
- Python
- Spring Boot
- STS
- myBatis
- Open Source
- spring
- maven
- AJAX
- 설정
- oracle
- Docker
- 문서
- Source
- JavaScript
- IntelliJ
- SpringBoot
- Tomcat
- error
- 오픈소스
- Today
- Total
목록log4j (9)
헤르메스 LIFE
항상 뭔가 급하면 찾게 된다. pom.xml 1.7.36 2.18.0 org.slf4j slf4j-api ${org.slf4j-version} org.slf4j jcl-over-slf4j ${org.slf4j-version} runtime org.apache.logging.log4j log4j-api ${log4j-version} org.apache.logging.log4j log4j-core ${log4j-version} org.apache.logging.log4j log4j-slf4j-impl ${log4j-version} org.apache.logging.log4j log4j ${log4j-version} pom javax.mail mail javax.jms jms com.sun.jdmk jmxto..
사용자 Appender 생성 아래 링크를 보면 Customer Appender 를 생성할 수 있는 소스가 있습니다. 이 Customer Appender가 왜 필요하냐면... 모든 Log 를 걸러낼 수 있기 때문입니다. MyBatis Query Log 까지도 확인할 수 있습니다. package com.github.dadiyang.appender; import org.apache.log4j.AppenderSkeleton; import org.apache.log4j.spi.LoggingEvent; /** * @author dadiyang * @since 2019/4/30 */ public class Log4jAppender extends AppenderSkeleton { private String appNam..
쿼리 로그가 두 번 찍힙니다. Root Logger 와 jdbc.sqlonly 가 각각 한번씩.. 두번 찍히게 되는데요. jdbc.sqlonly에서 SQL Logger를 찍고 상위 root Logger 로 가는 걸 방지하기 위해 additivity="false" 를 붙이시면 해결됩니다. %d %p %C{1.} [%t] %m%n additivity="false" 를 붙였는데 두번 찍히는 경우... log4jdbc-log4j2-jdbc4 를 사용하는 경우인 듯 합니다. jdbc.sqltiming 과 jdbc.sqlonly 두 개가 각각 찍는 경우 입니다. 마찬가지로 두 번 찍힙니다. name 의미 jdbc.sqlonly SQL 쿼리 문장만 로그로 남긴다. PreparedStatement일 경우 관련된 arg..
출처 : 백기선님의 강의 www.youtube.com/watch?v=o2-JaRD9qQE&t=907s&ab_channel=springcamp.io 1. 중요 !!! - SLF4J ( Simple Logging Facade for Java ) 는 Interface 입니다. - Spring Boot 은 기본적으로 JCL ( Jakarta Common Logging ) 을 이용해서 Logging 코드를 생성할 수 있습니다. - Spring Boot Application은 Logback을 이용한 SLF4J를 사용합니다. - 다른 Logging 라이브러리를 사용할 수 있습니다. ( 각 Log API 라이브러리와의 의존성을 끊어줘야 합니다. ) 2. SLF4J 구현체 slf4j-log4j12-{version}.ja..
Spring Application을 war로 아카이브 배포할때 아래와 같은 exception이 발생할때가 있습니다. SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListenerjava.lang.IllegalStateException: Cannot set web app root system property when WAR file is not expandedat org.springframework.web.util.WebUtils.setWebAppRootSystemProperty(WebUtils.java:140) 참고 ( 도전의 미학 :..
원문 : http://jhoonslife.tistory.com/76log4j.xml에서 로거의 특성상 상위의 모든 로거가 출력 되게 되어있다.로거를 아래와 같이 정의를 하게 되면root 로거와 jdbc.sqlonly 로거 두개가 남게 된다.따라서 상위 로거 모두 출력하는 log4j의 특성 때문에 서로 똑같은 로그가 두개가 남게 된다.(아래그림 참조)따라서 이런 것을 방지 하기 위해서는additivity 속성을 false 로 둔 logger를 설정해 두면 된다.이렇게 된다면 logger는 일단 출력한 후 상위 로거를 더이상 찾지 않게 된다.따라서 두개씩 찍히던 쿼리 로그는 하나씩 찍히게 된다.
원문 : http://chanwook.tistory.com/727 SLF4J는 commons-loggin이 갖는 몇 가지 문제점(이 글에서 다룬 문제+클래스 로딩 문제 등)을 해결하면서 등장한 로깅 API입니다.commons-loggin을 활용하는 방법은 간단하죠^^.logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));이 예는 DEBUG 수준의 로그를 남기게 됩니다. 하지만 이렇게 작성하면 큰 문제를 일으킵니다. 일반적으로 DEBUG 수준의 로그는 개발시나 디버깅 시에만 남기는데, 이렇게 코드를 해놓으면 로깅 수준에 관계 없이 항상 debug() 파라미터로 넘기는 문자열을 구성하게 됩니다.위 예에서는 i와 String.valueO..
iBatis-2.3.4.726 버젼의 수정입니다. 1. com.ibatis.common.jdbc.logging.LoggableStatement 파일 생성 package com.ibatis.common.jdbc.logging; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; @SuppressWarnings("unchecked") public class LoggableStatement { public LoggableStatement(String sql, List params) throws Exception { sqlTemplate = sql; parameterValues = new ArrayList(); ..
홈페이지 : http://logging.apache.org/ 다운로드 : http://logging.apache.org/log4j/1.2/download.html (2010년 8월 현재 1.2.16버젼이 안정화버젼임.) WEB-INF/lib 폴더에 log4j-1.2.16.jar 파일을 복사해 넣어두는 것으로 설치는 완료됩니다. 반드시 commons-logging jar파일이 필요합니다. 다운로드 : http://commons.apache.org/logging/download_logging.cgi (2010년 8월 현재 1.1.1버젼이 안정화버젼임.) 일반적으로 log4j.properties나 log4j.xml은 WEB-INF/classes 폴더 아래에 위치합니다. 1. web.xml 설정(Spring F..