반응형
목적
java.util.logging 에서 설정 하는 방법
샘플
handlers=java.util.logging.ConsoleHandler, java.util.logging.FileHandler
.level=ALL
java.util.logging.ConsoleHandler.level=ALL
java.util.logging.FileHandler.level=ALL
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.pattern=c:/temp/java%u.log
config 위치 참조
config 의 경우 java.util.logging 의 기본properties 위치는 %jre_home%/lib 에 있는 파일을 참조함
사용자 위치를 위해서는 System.setProperty 에 java.util.logging.config.file 값에 properties 파일 위치를 넣어준다.
나같은 경우에는 getClass().getClassLoader().getResource("logging.properties").getPath() 를 통해 properties위치를 구했다.
Logger 안에 LogManager를 가지고 있어 한번 생성된 것을 LogManager에서 관리한다.
getLogger("test") 를 통해 가져온 Logger 는 모두 같은 Class 이다.
이정도면 별도 LogFactory 나 LogManager 생성 없이 바로 사용할 수 있을꺼 같다.
설정파일에서 pattern 을 설정하지 않으면 System 의 user.home 값을 가져와 그 곳에 log파일을 생성해줌.
FileHandler api에 나온 설정 가능한 항목들
Configuration: By default each FileHandler is initialized using the following LogManager configuration properties. If properties are not defined (or have invalid values) then the specified default values are used.
java.util.logging.FileHandler.level specifies the default level for the Handler (defaults to Level.ALL).
java.util.logging.FileHandler.filter specifies the name of a Filter class to use (defaults to no Filter).
java.util.logging.FileHandler.formatter specifies the name of a Formatter class to use (defaults to java.util.logging.XMLFormatter)
java.util.logging.FileHandler.encoding the name of the character set encoding to use (defaults to the default platform encoding).
java.util.logging.FileHandler.limit specifies an approximate maximum amount to write (in bytes) to any one file. If this is zero, then there is no limit. (Defaults to no limit).
java.util.logging.FileHandler.count specifies how many output files to cycle through (defaults to 1).
java.util.logging.FileHandler.pattern specifies a pattern for generating the output file name. See below for details. (Defaults to "%h/java%u.log").
java.util.logging.FileHandler.append specifies whether the FileHandler should append onto any existing files (defaults to false).
A pattern consists of a string that includes the following special components that will be replaced at runtime:
"/" the local pathname separator
"%t" the system temporary directory
"%h" the value of the "user.home" system property
"%g" the generation number to distinguish rotated logs
"%u" a unique number to resolve conflicts
"%%" translates to a single percent sign "%"
If no "%g" field has been specified and the file count is greater than one, then the generation number will be added to the end of the generated filename, after a dot.
Thus for example a pattern of "%t/java%g.log" with a count of 2 would typically cause log files to be written on Solaris to /var/tmp/java0.log and /var/tmp/java1.log whereas on Windows 95 they would be typically written to to C:\TEMP\java0.log and C:\TEMP\java1.log
Level정보
- SEVERE (highest value)
- WARNING
- INFO
- CONFIG
- FINE
- FINER
- FINEST (lowest value)
참고사이트
http://cafe.naver.com/hermeneus.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=98&
http://kh2un.blog.me/60066342925
http://blog.daum.net/say_young/6710248
http://froginpot.tistory.com/48