log db 저장 설정
- 작성자 :
- a*
- 작성일 :
- 2019-12-10 14:48:48
- 조회수 :
- 3,403
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
log4j2.xml 에 에러 발생 시 로그를 db에 저장하려고 합니다.
설명 보면서 하고 있는데 적용이 잘 안되어 질문을 드립니다.
<JDBC name="dbAppender" tableName="DB_LOG">
<DataSource jndiName="jdbc/aa"/>
<Column name="created_at" isEventTimestamp="true"/>
<Column name="log_level" pattern="%p"/>
<Column name="logger" pattern="%c"/>
<Column name="message" pattern="%m"/>
<Column name="exception" pattern="%ex{full}"/>
</JDBC>
이렇게 설정을 했는데
resin-28 ERROR jdbc/aa javax.naming.NameNotFoundException: jdbc/aa
2019-12-10 14:40:56,346 resin-28 ERROR No ConnectionSource provided: connectionSource
2019-12-10 14:40:56,351 resin-28 ERROR Could not create plugin of type class org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender for element JDBC org.apache.logging.log4j.core.config.ConfigurationException: Arguments given for element JDBC are invalid
이렇게 에러가 발생합니다. db를 못찾고 있는것 같은데 was는 resin을 사용하고 있고 jndi설정이 되어있으며
context-datasource에서도 사용을 하고 있는데 왜 log4j2에서 db를 못찾는지 잘 모르겠습니다.
그리고 fileAppender를 이용하여 설정했는데 파일은 잘 생성이 되는데
강제로 로그를 찍어보거나 에러를 발생시켜도 안에 내용이 보이지 않습니다. 이유가 무엇인지 알 수 있을까요?
답변 부탁드립니다.
설명 보면서 하고 있는데 적용이 잘 안되어 질문을 드립니다.
<JDBC name="dbAppender" tableName="DB_LOG">
<DataSource jndiName="jdbc/aa"/>
<Column name="created_at" isEventTimestamp="true"/>
<Column name="log_level" pattern="%p"/>
<Column name="logger" pattern="%c"/>
<Column name="message" pattern="%m"/>
<Column name="exception" pattern="%ex{full}"/>
</JDBC>
이렇게 설정을 했는데
resin-28 ERROR jdbc/aa javax.naming.NameNotFoundException: jdbc/aa
2019-12-10 14:40:56,346 resin-28 ERROR No ConnectionSource provided: connectionSource
2019-12-10 14:40:56,351 resin-28 ERROR Could not create plugin of type class org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender for element JDBC org.apache.logging.log4j.core.config.ConfigurationException: Arguments given for element JDBC are invalid
이렇게 에러가 발생합니다. db를 못찾고 있는것 같은데 was는 resin을 사용하고 있고 jndi설정이 되어있으며
context-datasource에서도 사용을 하고 있는데 왜 log4j2에서 db를 못찾는지 잘 모르겠습니다.
그리고 fileAppender를 이용하여 설정했는데 파일은 잘 생성이 되는데
강제로 로그를 찍어보거나 에러를 발생시켜도 안에 내용이 보이지 않습니다. 이유가 무엇인지 알 수 있을까요?
답변 부탁드립니다.
A
안녕하세요.
표준프레임워크센터 입니다.
기재하신 내용으로 보면
설정이 정상인듯 합니다.
다만, 여러가지 환경적인 요인들이 있을수 있기 때문에
저희가 가이드 해드리기에는 한계가 있을듯 합니다.
다음 apache log4j2 메뉴얼을 참고해 보셔야 할듯 합니다.
https://logging.apache.org/log4j/2.x/manual/appenders.html
ConnetionFactory를 만들어서 하는방법도 있습니다.
다음을 참고해 보시면 좋을듯 합니다.
https://www.boraji.com/log4j-2-jdbcappender-example
fileAppender에서 파일이 생성은 되는것은 설정은 맞는것으로 판단이 되구요.
로그가 쌓이는 디렉토리의 마운트 디스크의 용량부족이나
환경적인 요인이 있을것으로 생각되는데
관련한 부분을 점검해 보셔야 할듯 합니다.
감사합니다.
표준프레임워크센터 입니다.
기재하신 내용으로 보면
설정이 정상인듯 합니다.
다만, 여러가지 환경적인 요인들이 있을수 있기 때문에
저희가 가이드 해드리기에는 한계가 있을듯 합니다.
다음 apache log4j2 메뉴얼을 참고해 보셔야 할듯 합니다.
https://logging.apache.org/log4j/2.x/manual/appenders.html
ConnetionFactory를 만들어서 하는방법도 있습니다.
다음을 참고해 보시면 좋을듯 합니다.
https://www.boraji.com/log4j-2-jdbcappender-example
fileAppender에서 파일이 생성은 되는것은 설정은 맞는것으로 판단이 되구요.
로그가 쌓이는 디렉토리의 마운트 디스크의 용량부족이나
환경적인 요인이 있을것으로 생각되는데
관련한 부분을 점검해 보셔야 할듯 합니다.
감사합니다.