1. pom.xml
<!-- Logging -->
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j-version}</version>
</dependency>
2. log4j 위치
WEB-INF\classes directory
3. log4j.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%-5p] %d{yyyy-MM-dd HH:mm:ss} %c %n%m%n" />
</layout>
</appender>
<appender name="fileLogger" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="./log/seckim.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="1MB"/>
<param name="MaxBackupIndex" value="3"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss}: [%-5p] %l> %m%n"/>
</layout>
</appender>
<!-- Application Loggers -->
<logger name="secretary" additivity="false">
<level value="debug" />
<appender-ref ref="console"/>
</logger>
<logger name="org" additivity="false">
<level value="error" />
<appender-ref ref="console"/>
</logger>
<!-- Root Logger -->
<root level="info">
<appender-ref ref="console" />
<appender-ref ref="sqlLogger"/>
</root>
<appender name="sqlLogger" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}] %-5p:%m%n"/>
</layout>
</appender>
<!-- Query Loggers -->
<logger name="jdbc" additivity="false">
<level value="error"/>
<appender-ref ref="sqlLogger"/>
</logger>
<logger name="jdbc.sqlonly" additivity="true">
<level value="info"/>
<appender-ref ref="sqlLogger"/>
</logger>
<logger name="jdbc.sqltiming" additivity="false">
<level value="error"/>
<appender-ref ref="sqlLogger"/>
</logger>
<logger name="jdbc.audit" additivity="false">
<level value="error"/>
<appender-ref ref="sqlLogger"/>
</logger>
<logger name="jdbc.resultset" additivity="false">
<level value="error"/>
<appender-ref ref="sqlLogger"/>
</logger>
<logger name="jdbc.resultsettable" additivity="false">
<level value="error"/>
<appender-ref ref="sqlLogger"/>
</logger>
<logger name="jdbc.connection" additivity="false">
<level value="error"/>
<appender-ref ref="sqlLogger"/>
</logger>
</log4j:configuration>
4. Controller
package secretary.common.controller;
import java.util.Locale;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import secretary.common.service.TestService;
@Controller
public class MainController {
private Logger log = LogManager.getLogger(this.getClass());
@Autowired
private TestService testService;
@RequestMapping(value = "/main.do")
public String main(Locale locale, Model model) {
String result = testService.selectNow();
log.info("=======>main: " + result);
return "common/main";
}
}
'개발 > 개발환경설정' 카테고리의 다른 글
Interceptor 설정 (0) | 2020.03.17 |
---|---|
Aspectj + 어노테이션으로 로그남기기 (0) | 2020.03.17 |
MySQL 연결 (0) | 2020.03.16 |
Spring MVC 설정 (0) | 2020.03.12 |
개발환경설정 (0) | 2020.02.15 |