##################################### # Log4J Configuration # ##################################### ÀÛ¼ºÀÚ : ÀåÇüÈ(hhjang97@venus.uos.ac.kr) ÀÛ¼ºÀÏ : 2005. 08. 11 ¼öÁ¤ÀÏ : ¿øº» : ¼³¸í : ################################# ################################# ################################# LOG4J !! µð¹ö±×³ª ¿¡·¯ È®ÀÎÀ» À§ÇØ Ç×»ó »ç¿ëÇÏ´Â APIÀÔ´Ï´Ù. ´Ù¾çÇÑ Level·Î ³ª´²¼ ¼³Á¤ °¡´ÉÇϸç, System.out.printlnÀ» ³¹ß(?) ÇÏÁö ¾Êµµ·Ï µµ¿ÍÁÖ°í ÀÖÁÒ ^^; ¼³Á¤ ºÎºÐ¿¡¼ ÇÊ¿äÇÑ ºÎºÐÀ» ±×¶§±×¶§ À¥»çÀÌÆ® µ¹¾Æ´Ù´Ï¸ç ã¾Ò´Âµ¥, ¿©±â¿¡ Æ÷½ºÆ® Çسõ°í ÇÊ¿äÇÒ¶§ ã¾Æ ¾²·Á°í¿ä ^^; !-----------------------------------------------------------------------------! ! category(logger) ¼³Á¤ ! !-----------------------------------------------------------------------------! log4j.debug=true #log4j.disable=INFO log4j.rootLogger=DEBUG, CONSOL, SYSTEM !-----------------------------------------------------------------------------! ! appender(log destinations/targets) ¿Í ¿É¼ÇµéÀ» ¼³Á¤ ! !-----------------------------------------------------------------------------! ! FILE¿¡ ·Î±× ¾²±â, ÁöÁ¤ÇÑ Å©±â¸¦ ³Ñ¾î¼¸é ÆÄÀÏÀ» ±³Ã¼ log4j.appender.CONSOL=org.apache.log4j.ConsoleAppender ! ·Î±×¸Þ¼¼ÁöµéÀÌ ÀüÇô ¹öÆÛµÇÁö ¾Ê´Â °ÍÀ» ÀǹÌÇÏ¸ç ´ëºÎºÐÀÇ »óȲ¿¡ Àû´çÇÏ´Ù. log4j.appender.CONSOL.ImmediateFlush=true ! ÀÌ appender ´Â ¿©±â ¸í½ÃµÈ priority ¿Í °°°Å³ª ³ôÀº ¸Þ¼¼Áö¸¸ ·Î±ëÇÑ´Ù log4j.appender.CONSOL.Threshold=DEBUG ! Layout Çü½Ä : TTCCLayout, HTMLLayout, XMLLayout, PatternLayout, SimpleLayout ! PatternLayout, SimpleLayout - ÀÚ¹ÙÀÇ Throwable ¿¡·¯µé°ú ¿¹¿Ü¸¦ ¹«½ÃÇÑ´Ù log4j.appender.CONSOL.layout=org.apache.log4j.PatternLayout ! %l - ¼Ò½ºÄÚµåÀÇ À§Ä¡Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù. %C. %M(%F:%L) ÀÇ Ãà¾àÇüÀÌ´Ù log4j.appender.CONSOL.layout.ConversionPattern=%-5p %l %x =>%m%n log4j.appender.SYSTEM=org.apache.log4j.DailyRollingFileAppender log4j.appender.SYSTEM.File=C:/logs/system.html ! ¸ÅÀÏ ÀÚÁ¤¿¡ ·Î±×ÆÄÀÏÀ» ±³Ã¼ÇÏ¸ç ±âÁ¸ÆÄÀÏÀº xx.log_2004.07.12 log4j.appender.SYSTEM.DatePattern='.'yyyy-MM-dd log4j.appender.SYSTEM.Threshold=DEBUG ! ÀÚ¹ÙÀÇ Throwable ¿¡·¯µé°ú ¿¹¿Ü¸¦ Æ÷ÇÔÇϱâ À§ÇØ HTMLLayoutÀ» »ç¿ëÇÑ´Ù. log4j.appender.SYSTEM.layout=org.apache.log4j.HTMLLayout ! [%d{yyyy-MM-dd}Çü½ÄÀº ÇÁ·Î±×·¥ÀÇ ½ÇÇà¼Óµµ¸¦ ´À¸®°Ô ÇÔÀ¸·Î SimpleDateFormat Çü½ÄÁöÁ¤ÇÑ´Ù. log4j.appender.SYSTEM.layout.DateFormat=ISO8601 ! [YYYY-MM-DD HH:MM:SS, mm] Çü½ÄÀ» ¶æÇÑ´Ù. log4j.appender.SYSTEM.layout.TimeZoneID=GMT-8:00 ! %l - ¼Ò½ºÄÚµåÀÇ À§Ä¡Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù. %C. %M(%F:%L) ÀÇ Ãà¾àÇüÀÌ´Ù log4j.appender.SYSTEM.layout.ConversionPattern=[%d] %-5p %l - %m%n ! °¢ ¾÷¹« »óÀ§ÆÐÅ°Áö¸¦ ÁöÁ¤ÇÏ¿© logging ¼ÂÆÃÇÑ´Ù. log4j.logger.rkhwang.biz.protoss=DEBUG, PROTOSS log4j.logger.rkhwang.biz.teran=DEBUG, TERAN log4j.logger.rkhwang.biz.zerg=DEBUG, ZERG log4j.appender.PROTOSS=org.apache.log4j.DailyRollingFileAppender log4j.appender.PROTOSS.File=C:/logs/protoss.log log4j.appender.PROTOSS.DatePattern='.'yyyy-MM-dd log4j.appender.PROTOSS.Threshold=DEBUG log4j.appender.PROTOSS.layout=org.apache.log4j.PatternLayout log4j.appender.PROTOSS.layout.DateFormat=ISO8601 log4j.appender.PROTOSS.layout.TimeZoneID=GMT-8:00 log4j.appender.PROTOSS.layout.ConversionPattern=[%d] %-5p %l - %m%n log4j.appender.TERAN=org.apache.log4j.DailyRollingFileAppender log4j.appender.TERAN.File=C:/logs/teran.log log4j.appender.TERAN.DatePattern='.'yyyy-MM-dd log4j.appender.TERAN.Threshold=DEBUG log4j.appender.TERAN.layout=org.apache.log4j.PatternLayout log4j.appender.TERAN.layout.DateFormat=ISO8601 log4j.appender.TERAN.layout.TimeZoneID=GMT-8:00 log4j.appender.TERAN.layout.ConversionPattern=[%d] %-5p %l - %m%n log4j.appender.ZERG=org.apache.log4j.DailyRollingFileAppender log4j.appender.ZERG.File=C:/logs/zerg.log log4j.appender.ZERG.DatePattern='.'yyyy-MM-dd log4j.appender.ZERG.Threshold=DEBUG log4j.appender.ZERG.layout=org.apache.log4j.PatternLayout log4j.appender.ZERG.layout.DateFormat=ISO8601 log4j.appender.ZERG.layout.TimeZoneID=GMT-8:00 log4j.appender.ZERG.layout.ConversionPattern=[%d] %-5p %l - %m%n ################################# # Âü°í log4j.properties ÆÄÀÏ ################################# log4j.rootCategory=, dest2, C log4j.appender.C=org.apache.log4j.DailyRollingFileAppender log4j.appender.C.File= error.log log4j.appender.C.layout=org.apache.log4j.PatternLayout #log4j.appender.C.layout.ConversionPattern=[%d{yyyy-MM-dd hh:mm:ss}] %-5p [%-10t] %c{2} - %m%n log4j.appender.C.layout.ConversionPattern=[%d{yyyy-MM-dd hh:mm:ss}] - %m%n log4j.appender.C.Append=true log4j.appender.C.DatePattern='.'yyyyMMdd log4j.appender.C.Threshold=ERROR log4j.appender.C.ImmediateFlush=true log4j.appender.dest2=org.apache.log4j.DailyRollingFileAppender log4j.appender.dest2.File=debug.log log4j.appender.dest2.layout=org.apache.log4j.PatternLayout #log4j.appender.dest2.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %-5p [%-10t] %c{2} - %m%n log4j.appender.dest2.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] - %m%n log4j.appender.dest2.Append=true log4j.appender.dest2.DatePattern='.'yyyyMMdd log4j.appender.dest2.Threshold=DEBUG log4j.appender.dest2.ImmediateFlush=true #--------------------------------------------------------------------- # %n - newline # %m - your log message # %p - message priority (FATAL, ERROR, WARN, INFO, DEBUG or custom) # %r - millisecs since program started running # %% - percent sign in output # #-----------------------SOME MORE CLUTTER IN YOUR LOG------------------------- # %c - name of your category (logger), %c{2} will outputs last two components # %t - name of current thread # %x - Nested Diagnostic Context (NDC) (you supply it) # #-------------------------SLOW PERFORMANCE FORMATS---------------------------- # %d - date and time, also %d{ISO8601}, %d{DATE}, %d{ABSOLUTE}, # %d{HH:mm:ss,SSS}, %d{dd MMM yyyy HH:mm:ss,SSS} and so on # %l - Shortcut for %F%L%C%M # %F - Java source file name # %L - Java source line number # %C - Java class name, %C{1} will output the last one component # %M - Java method name #----------------------------------------------------------------------- ################################# # #################################