[Spring, Log] ·Î±×°¡ ¾Èº¸À϶§, Äõ¸®°¡ ¾È³ªÅ¸³¯¶§ ·Î±× Ãâ·ÂÇÏ´Â ¹æ¹ý
º¸Åë ÀüÀÚÁ¤ºÎ°°Àº Spring±â¹ÝÀÇ ÇÁ·ÎÁ§Æ®¸¦ ÇÒ¶§ ¿¡·¯°¡ ³ª´ø°¡ ȤÀº ¼¹ö¿¡¼ ¾î¶² ¾×¼ÇÀÌ ÀϾ¸é ÀÌŬ¸³½º ÄܼÖâ¿¡
¸¹Àº Á¤º¸µéÀÌ ÈÄµÎµÎµÏ ÇÏ°í ¿Ã¶ó°£´Ù.
³»°¡ ³¯¸° Äõ¸®°¡ ¹«¾ùÀÎÁö, ³»°¡ ¿äûÇÑ URLÀº ¹«¾ùÀÖÁö ¹ö±×³ª ¿À·ù°¡ ÀÖÀ»¶© ¾î¶² ¿À·ùÀÎÁö ¿Â°® Á¤º¸µéÀÌ ³ªÅ¸³ª´Âµ¥
°¡²û Äõ¸®¸¦ ½ÇÇàÇصµ ¾î¶² Äõ¸®¸¦ ½ÇÇàÇß´ÂÁö ³ªÅ¸³ªÁö ¾Ê´Â °æ¿ì°¡ ÀÖ´Ù. ´ÜÁö ¿À·ù°¡ ³µÀ»¶§¸¸ ÄܼÖâ¿¡ ·Î±×¸¦ »Ñ·ÁÁÖ´Â °æ¿ì
ÀÌ·²¶§ ¹ö±×°¡ ÀÖ´õ¶óµµ ½Ã½ºÅÛ¿¡¼ ¿À·ù°¡ ³ªÁö ¾Ê´Â´Ù¸é ¾î¶² Äõ¸®¸¦ ½ÇÇà½ÃÄ×´ÂÁö ¾î¶² urlÀ» ¿äûÇß´ÂÁö ¾Ë±â Èûµé°Ô µÈ´Ù.
ÀÌ·±°æ¿ìÀÇ ´ëºÎºÐÀº ·Î±ë ÇÁ·ÎÆÛƼÀÇ ¼³Á¤ ·¹º§ÀÌ warn Á¤µµ·Î µÇ¾î ÀÖ´Â °æ¿ì ÀÎ°Í °°´Ù.
Á¤»óÀûÀÎ Äõ¸®µµ ÄܼÖâ¿¡ º¸ÀÌ°Ô ÇÒ¼ö ÀÖµµ·Ï ¼³Á¤ÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¸ÀÚ.
log4j¸¦ ¾²´ø log4j2¸¦ ¾²´ø logback¸¦ ¾²´ø ¼³Á¤ xmlÆÄÀÏÀÇ À̸§¿£ [log]°¡ µé¾î°£´Ù
ÇÁ·ÎÁ§Æ®ÀÇ ±¸¼º,¼³°è¿¡ µû¶ó ÇØ´ç xmlÆÄÀÏÀº ¸®¼Ò½º¿¡ µé¾î°¡´Â °æ¿ìµµ ÀÖ°í web-inf¿¡ µé¾î°¡´Â °æ¿ìµµ ÀÖ´Ù
ÆÄÀÏÀ» ¿¾î º¸¸é
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false"> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %5p [%c] %m%n" /> </layout> </appender> <logger name="egovframework" additivity="false"> <level value="DEBUG"/> <appender-ref ref="console"/> </logger> <!-- log SQL with timing information, post execution --> <logger name="jdbc.sqltiming" additivity="false"> <level value="WARN" /> <appender-ref ref="console" /> </logger> <logger name="jdbc.audit" additivity="false"> <level value="WARN" /> <appender-ref ref="console" /> </logger> <logger name="jdbc.resultset" additivity="false"> <level value="WARN" /> <appender-ref ref="console" /> </logger> <level value="INFO" /> <appender-ref ref="console" /> </logger> <logger name="java.sql" additivity="false"> <level value="WARN"/> <appender-ref ref="console"/> </logger> <root> <level value="INFO" /> <appender-ref ref="console" /> </root> </log4j:configuration> | cs |
ÀÌ·±½ÄÀ¸·Î µÇ¾î ÀÖÀ» °ÍÀÌ´Ù. À̺κÐÀº log4j³ª logback³ª Å©°Ô ´Ù¸¥ ºÎºÐÀº ¾ø´Ù.
´ÜÁö ·Î°Å ¾È¿¡ ·¹º§ÀÌ µé¾î°¡³Ä ¾Èµé¾î°¡³Ä ¾îÆæµå°¡ Æ÷ÇÔµÇ³Ä ¾ÈµÇ³Ä ±×¸®°í ÃÖ»ó´Ü¿¡ÀÇ Á¤º¸µé°°Àº ÀÌ·± ¾à°£ÀÇ Â÷À̸¸ ÀÖÀ» »ÓÀÌ´Ù.
º¸¸é <level value="warn"/> À̶ó°í µÇ¾îÀִµ¥
¿©±â¼ ¹ë·ù°ª¿¡ µé¾î°¡´Â Á¾·ù´Â
DEBUG, INFO, WARN, ERROR, FATAL, ALL, OFF °¡ ÀÖ´Ù.
ALLÀº ¸ðµç ·Î±ë
OFF´Â ·Î±ë ÇØÁ¦
DEBUG = µð¹ö±ë
INFO = °Á¶Á¤º¸
WARN = °æ°í
ERROR = ¿À·ù
FATAL = ½É°¢ÇÑ ¿À·ù
¶ó´Â ÀÇ¹Ì À̸ç
WARNÀº °æ°í¼öÁØ ÀÌÇÏ ·¹º§ÀÇ Á¤º¸´Â ·Î±ëÇÏÁö ¾Ê´Â ´Ù´Â ¶æÀÌ´Ù
±×·¯´Ï Á¤»óÀûÀ¸·Î µ¹¾Æ°¡´Â SQLÄõ¸®¹®Àº ÄܼÖâ¿¡ ³ªÅ¸³ªÁö ¾ÊÀ¸´Ï
·¹º§ÀÇ ¹ë·ù¸¦ ÀüºÎ DEBUG ·Î ¹Ù²ãÁÖÀÚ
·Î°Å name="" << À̺κÐÀÇ ³×ÀÓÀº ¾î¶² ºÎºÐ¿¡¼ ·Î±×¸¦ ¶ç¿öÁÙÁö Àû´Â ºÎºÐÀÌ´Ù.
¹ºÁö ¸ð¸£°Ú°í sql¸¸ ¶ç¿ì°í ½Í´Ù¸é jdbc.sqltiming À̺κÐÀÇ ·¹º§¸¸ DEBUG ·Î ¹Ù²ãº¸µµ·Ï ÇÏÀÚ
¼³Á¤¿¡ µû¶ó
1 2 3 4 5 6 7 | <appender-ref ref="console" /> </logger> <logger name="org.mybatis" level="DEBUG " additivity="false"> <appender-ref ref="console" /> </logger> | cs |
ÀÌ·±½ÄÀÇ ½ºÇÁ¸µÇÁ·¹ÀÓ¿öÅ©³ª ¸¶À̹ÙƼ½º¿¡ °üÇÑ ·Î±×¸¦ ¶ç¿ï ¼öµµ ÀÖ´Ù.
¾Æ¹«Æ° ¿øÇÏ´Â ºÎºÐÀÇ ·¹º§À» DEBUG·Î ¼³Á¤ÇÑ ÈÄ ±¸µ¿½ÃÅ°¸é Á¤»óÀûÀ¸·Î ½ÇÇàµÇ´Â Á¤º¸µéµµ Ãâ·ÂÀÌ µÈ´Ù.
additivity À̺κÐÀº
http://seosh81.info/?p=404 << À̺ÐÀÇ ºí·Î±×¿¡¼ Àß ¼³¸íÀÌ µÇ¾î ÀÖÀ¸´Ï ±Ã±ÝÇÏ¸é µé¾î°¡¼ º¸ÀÚ
°£´ÜÈ÷ ¼³¸íÇÏÀÚ¸é ·Î±×À̺¥Æ®¸¦ ºÎ¸ð¿¡°Ô Àü´ÞÇϵµ·Ï ÇÏ´À³Ä ¸¶´À³Ä Á¤µµÀÇ ¼³Á¤ºÎºÐÀÎ°Í °°Àºµ¥
¾îÂ÷ÇÇ ³ª´Â ¾ß¸Å°³¹ßÀÚ¶ó¼ Á¤È®ÇÏ°í ÀÚ¼¼ÇÏ°Õ ¸ð¸¥´Ù.
À̺κп¡¼ ConversionPatternÀ̺κÐÀÇ ¹ë·ù´Â Äֿܼ¡ Ç¥ÇöµÇ´Â Ç¥Çö½ÄÀ» ÁöÁ¤ÇÏ´Â ºÎºÐÀÌ´Ù.
Ç¥Çö½ÄÀº ¾Æ·¡¿Í °°´Ù.
%m: ·Î±× ³»¿ë Ãâ·Â
%p: debug, info, warn, error, fatal µîÀÇ priority Ãâ·Â
%r: ¾îÇÃÀÌ ½ÃÀÛ ÈÄ À̺¥Æ®°¡ ¹ß»ýÇÏ´Â ½ÃÁ¡±îÁöÀÇ °æ°ú½Ã°£ ¹Ð¸®¼¼ÄÁµå·Î Ãâ·Â
%c: package Ãâ·Â
%c{n}: n(¼ýÀÚ) ¸¸ÅÀÇ package¸¦ °¡Àå ÇÏ´Ü ºÎÅÍ ¿ªÀ¸·Î Ãâ·Â
¿¹) %c{2} À϶§ a.b.c ´Â b.c ·Î Ãâ·ÂµÈ´Ù.
%n: °³Ç๮ÀÚ Ãâ·Â. Ç÷¿Æû¿¡ µû¶ó \r\n ¶Ç´Â \n Ãâ·Â.
%d: À̺¥Æ® ¹ß»ý ³¯Â¥ Ãâ·Â ( ÇÁ·Î±×·¥ÀÇ ½ÇÇà¼Óµµ¸¦ ´À¸®°Ô ÇÑ´Ù.)
¿¹) %d{HH:mm:ss} ¶Ç´Â %d{dd MMMM yyyy HH:mm:ss}
%C: È£ÃâÀÚÀÇ Å¬·¡½º¸í Ãâ·Â
¿¹) %C{2} À϶§ a.b.c.TestClass ´Â c.TestClass ·Î Ãâ·ÂµÈ´Ù.
%M: method À̸§.
%F: ÇÁ·Î±×·¥ ÆÄÀϸí.
%l: callerÀÇ Á¤º¸
%L: callerÀÇ ¶óÀμö
%x: thread¿Í °ü·ÃµÈ NDC(nested diagnostic context)
%X: thread¿Í °ü·ÃµÈ MDC(mapped diagnostic context)
%%: % Ç¥½Ã¸¦ Ãâ·Â
%t: ¾²·¹µå À̸§
·Î±×¶ç¿ïÁÙ ¸ô¶ó¼ µé¾î¿Â »ç¶÷À̶ó¸é ¾îÂ÷ÇÇ Àú Ç¥Çö½ÄÀ» ¾µÀÏÀº ¾øÀ»Å×´Ï ±×³É ÀÌ·±°Ô Àִٴ°͸¸ ¾Ë¾ÆµÎ°í ³Ñ¾î°¡ÀÚ.