Notice
Recent Posts
Recent Comments
Link
관리 메뉴

데브마우스

[Spring] log4j.xml 파일 정리 본문

Spring/Spring: 정리

[Spring] log4j.xml 파일 정리

데브마우스 2024. 1. 24. 13:44

log4j.xml 파일 저장 위치

log4j.xml과 log4j.dtd는 src/main/resources/ 에 저장합니다.

 

log4j.xml 파일 둘러보기

주석에 각 코드에 대한 설명을 작성하였습니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" 
	"http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
<log4j:configuration
	xmlns:log4j="http://jakarta.apache.org/log4j/">


	<!-- Appender 요소 -->
<!-- 
	name="console" appender의 이름을 console로 지정하였습니다.
	class="...ConsoleAppender" 클래스 이름입니다.
	Target으로 출력 대상을 콘솔에서 출력합니다.
	PatternLayout으로 로그의 출력 형식을 지정합니다.
 -->
	<appender name="console"
		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 %c{1}:%L - %m%n" />
		</layout>
	</appender>

<!-- 
	name="monitor" appender의 이름을 monitor로 지정하였습니다.
	class="...RollingFileAppender" 클래스 이름입니다.
	append, maxFileSize, maxBackupIndex,file로 파일에 로그를 기록하는 방법을 설정합니다.
	LevelRangeFilter 클래스로 로그를 기록할 로그 레벨을 설정합니다.
 -->
	<appender name="monitor"
		class="org.apache.log4j.RollingFileAppender">
		<param name="append" value="false" />
		<param name="maxFileSize" value="10KB" />
		<param name="maxBackupIndex" value="5" />
		<param name="file" value="c:/logs/monitor.log" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern"
				value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="LevelMin" value="info" />
			<param name="LevelMax" value="info" />
		</filter>
	</appender>

	<!-- Application Loggers -->
<!-- 
	logger의 이름을 com.springmv로 설정합니다.
	appender-ref로 이 로거에 연결된 appender를 설정합니다. ("monitor"가 설정되어있습니다.)
-->
	<logger name="com.springmvc">
		<level value="info" />
		<appender-ref ref="monitor" />
		<appender-ref ref="audit" />
	</logger>

	<!-- 3rdparty Loggers -->
<!-- 
3rd party 라이브러리에 대한 로거를 설정합니다.
 -->
	<logger name="org.springframework.core">
		<level value="info" />
	</logger>

	<logger name="org.springframework.beans">
		<level value="info" />
	</logger>

	<logger name="org.springframework.context">
		<level value="info" />
	</logger>

	<logger name="org.springframework.web">
		<level value="info" />
	</logger>

	<!-- Root Logger -->
<!-- 
root 로거를 설정합니다. root 로거는 모든 로거에 상속됩니다.
root Logger의 로그 레벨을 warn으로 설정하였습니다.
appender-ref="console"로 설정되었기에 warn 레벨 이상은 콘솔에 출력됩니다. 
-->
	<root>
		<priority value="warn" />
		<appender-ref ref="console" />
	</root>

</log4j:configuration>

 

log4j.dtd가 없을 경우 에러가 발생합니다.

log4j.dtd가 없어서 에러가 발생할 경우 log4j.dtd를 작성하거나 log4j.xml 파일을 수정하면 해결됩니다.

 

log4j.xml 파일 수정

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

 

log4j.dtd 파일 생성

log4j.dtd 파일은 다음 링크에서 다운로드 받을 수 있습니다.

https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/

 

Index of /log4j/1.2/apidocs/org/apache/log4j/xml/doc-files

 

logging.apache.org