Public/tip & tech

log4j thread 별 로그찍기

quantapia 2019. 5. 14. 16:32

테스트 결과 log4j.properties 파일외에 Thread 클래스 파일 생성자에서 다음과 같이 구현했더니 스레드에 부여한 ID별로 로그 파일이 
정상적으로 생성됩니다. 참고하세요

m_logger = Logger.getLogger("SessionThread-" + strSessionID);
String strLogFileName = "./log/SessionThread/" + strSessionID + ".log";

Properties prop = new Properties();
prop.setProperty("log4j.logger.SessionThread-" + strSessionID, "DEBUG, SessionThread");
prop.setProperty("log4j.appender.SessionThread", "org.apache.log4j.DailyRollingFileAppender");
prop.setProperty("log4j.appender.SessionThread.File", strLogFileName);
prop.setProperty("log4j.appender.SessionThread.Append", "true");
prop.setProperty("log4j.appender.SessionThread.layout", "org.apache.log4j.PatternLayout");
prop.setProperty("log4j.appender.SessionThread.layout.ConversionPattern", "[%d{HH:mm:ss}][%-5p](%F:%M:%L)-%m%n");
prop.setProperty("log4j.appender.SessionThread.Threshold", "DEBUG");
PropertyConfigurator.configure(prop);