출처 : http://egloos.zum.com/oniondev/v/9585156
[Java] Log4j 설치부터 log4j.properties 설정 까지
Log4j는 프로그래밍을 시작한 후로 언제부턴가 my favorite 로깅 Tool.? 이 되어버렷다.
일단 홈페이지 링크부터.. ㅎㅎ
Log4j 로깅을 사용하기 위해서는 일단 Java Project에 Log4j 라이브러리의 추가가 필요하다.
다음의 두가지 방법이 있다.
방법1. 홈페이지에서 다운로드 받은 JAR를 import
프로젝트 우클릭 > Build Path > Configure Build path > Libraries 탭 > Add External JARs > log4j-x.x.jar 선택 > 확인
방법2. Maven project를 사용한다면 라이브러리 dependency 추가
프로젝트의 pom.xml 오픈 > 여기 에서 원하는 버전의 dependancy 코드를 찾는다 > 파일에 추가후 저장 > 자동으로 import 됨.
내꺼 같은경우를 보면 다음과 같다.
pom.xml 내부
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
하지만.......... 여기서 끝이 아니다!!!!
설정파일 이 있어야 log4j가 정상적으로 초기화되면서 사용이 가능하다.
이 설정파일은 xml과 properties 파일 2가지로 작성이 가능한데...
원문의 자세한 설명을 보려면 홈페이지의 Configuration 항목을 체크하도록,,.
어쨋든 결론은 설정파일을 JavaProject의 CLASS_PATH 내부에 두어야 한다는 것.!!
Java 프로젝트 우클릭 > New > SourceFolder 생성(이름은 자유, 이 폴더 안에 위치한 파일은 프로그램이 Run할때 자동으로 CLASS_PATH에 추가가 된다.)
> 생성된 폴더 밑에 log4j.properties 라는 파일명으로 아래의 소스를 가져다가 붙인다.
<log4j.properties 파일 소스>
# Root logger option
#log4j.rootLogger=debug, stdout, logfile
log4j.rootLogger=info, stdout, logfile
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p (%C{2}:%L) - %m%n
# Direct log message to log file
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd
log4j.appender.logfile.File=D:\\path/application.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %5p (%C{2} - %M:%L) - %m%n
log4j.appender.logfile.Append=true
간단히 설명을 하자면
1. 로그 출력 Level은 INFO부터 할것임.
2. rootLogger 에 사용할 로깅 Appender로 stdout이라는것과 logfile이라는 것 두가지를 사용하겠다
3. ConversionPattern은 로그가 어떠한 형식으로 출력될것인지 그 포맷을 정의하는 것.
4. logfile이라는 appender는 로그를 파일로 출력해주는 놈인데, 파일path를 정의 할 수 있다.
이정도면 다 알아 들으셨으리라 생각하고. 여기까지 따라했다면. 이제 프로그램을 만들어보자
MyClass라는 class파일을 만든 뒤 아래의 코드를 붙여넣고 돌려보자
public class MyClass {
private final Logger logger = Logger.getLogger(MyClass .class);
public void logTest(String msg){
try{
logger.info(msg);
}catch(Exception e){
logger.error("got error",e);
}
}
public static void main(String[] args) {
MyClass obj = new MyClass();
obj.logTest("information");
}
}
잘 동작하는가.?
콘솔의 로그가 아주 아름답게 잘 나오는 것을 확인할 수 있다.
정리 끝.!
'개발 일반' 카테고리의 다른 글
자바스크립트가 세상을 먹어치우고 있다(Javascript Is Eating The World) (0) | 2015.12.31 |
---|---|
세션을 사용하여 로그인 유지 (0) | 2015.12.31 |
웹서버 개발 참고 링크(HTML5, JQuery ...) (0) | 2015.05.29 |
국내외 M2M 시장 현황 및 개방형 기술 표준화 현황 (0) | 2015.02.03 |
오라클 FUNCTION 생성 및 사용 방법 (0) | 2015.01.16 |