반응형

JDBC 로깅 파일 위치 설정

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012

 

SQL Server에 연결 할 때 자바를 사용한 JDBC의 로깅에 대해서 알아보자.

 

이번 포스트는 CSS SQL Server Engineer 블로그에 게시된 내용으로 필자가 읽고 이해한 내용을 정리하였다. 번역의 오류나 기술적 오류가 있음을 미리 알려둔다. 자세한 내용은 원문을 참고 한다.

 

JDBC 로깅은 매우 유용하지만 등록된 속성파일에서 로그파일의 생성 위치 파악이 어려웠다. 그래서 훨씬 쉽게 만들 수 있는 방법을 연구하였다.

 

첫 번째는 자바가 기본적으로 User.Home 폴더에 로그 파일을 생성한다는 것이다. 따라서 내 코드의 한 부분을 그 위치로 출력하도록 설정 하였다.

System.out.println("User Home Path: " + System.getProperty("user.home"));

 

두 번째는 커맨드 라인에서 수동으로 로깅을 지정하는 것이다.

java.exe -Djava.util.logging.config.file=c:\temp\logging.properties myJavaClass

 

등록 정보 파일에서 간단한 로깅을 사용하여 보자.

# Specify the handlers to create in the root logger

# (all loggers are children of the root logger)

# The following creates two handlershandlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler

# Set the default logging level for the root logger.level = ALL

# Set the default logging level for new ConsoleHandler instancesjava.util.logging.ConsoleHandler.level = INFO

# Set the default logging level for new FileHandler instancesjava.util.logging.FileHandler.level = ALL

# Set the default formatter for new ConsoleHandler instancesjava.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

 

 

#############################################################

Facility specific properties.# Provides extra control for each logger.

############################################################

 

# For example, set the com.xyz.foo logger to only log SEVERE

# messages:com.microsoft.sqlserver.jdbc.level=FINESTcom.xyz.foo.level = SEVERE

 

JBBC 로그를 생성하기 위해 이벤트를 발생 시켜 로그 파일이 생성되고 기록되는지 확인한다.

 

IBM의 Jens Wyke가 쓴 JDBC 쿼리 로깅을 참고해도 좋을 듯 하다

 

 

 

[참고자료]

http://blogs.msdn.com/b/psssql/archive/2011/10/16/easy-jdbc-logging.aspx

 

 

2013-11-05 / 강성욱 / http://sqlmvp.kr

 

 

 

 

반응형

+ Recent posts