JSR-047 ¹× Commons Logging Áö¿ø
·Î±× ¹× ÃßÀû ºÐ¼®±â´Â ´ÙÀ½
·Î±ë À¯Æ¿¸®Æ¼ÀÇ »õ »ç¿ëÀÚ¿Í ±âÁ¸ »ç¿ëÀÚ¿¡°Ô µ¶¸³Çü ¹× Ç÷¯±×ÀÎ Áö¿øÀ» Á¦°øÇÕ´Ï´Ù.
- JSR-047 Java Logging API
- Commons Logging
ÀÌ Áö¿øÀÇ ¼¼ºÎ»çÇ×Àº ´ÙÀ½°ú °°½À´Ï´Ù.
- ·Î±ë ¿¡ÀÌÀüÆ®·Î ·Î±× ¸Þ½ÃÁö¸¦ ³»º¸³»´Â ±â´É
org.eclipse.hyades.logging.java ÆÐÁöŰÀÇ
java.util.logging.Handler abstract Ŭ·¡½ºÀÇ È®ÀåÀ» ÅëÇØ ·Î±ë
¿¡ÀÌÀüÆ®·Î ·Î±× ¸Þ½ÃÁö¸¦ ³»º¸³»µµ·Ï ·Î°Å¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ org.eclipse.hyades.logging.java.LoggingAgentHandler Çڵ鷯´Â
·Î°Å¿¡ ±â·ÏµÈ java.util.logging.LogRecord ·Î±× ¸Þ½ÃÁö°¡ Çڵ鷯ÀÇ
ÇÊÅÍ¿Í ·Î±ë ·¹º§¿¡ µû¶ó ·Î±× °¡´ÉÇÑÁö¸¦ È®ÀÎÇÕ´Ï´Ù. ·Î±× ¸Þ½ÃÁö°¡ ·Î±×µÇ´Â
°æ¿ì ¸Þ½ÃÁö¸¦ ·Î±×ÇÏ´Â ·Î°Å¿Í °°Àº À̸§ÀÇ ·Î±ë ¿¡ÀÌÀüÆ®°¡ ÀÛ¼ºµË´Ï´Ù.
¸Þ½ÃÁö´Â org.eclipse.hyades.logging.java.XmlFormatter¸¦ »ç¿ëÇÏ¿©
Çü½ÄÈµÇ°í ·Î±ë ¿¡ÀÌÀüÆ®¿¡ ±â·ÏµË´Ï´Ù.
- XML·Î ·Î±× ¸Þ½ÃÁö¸¦ º¯È¯ÇÏ´Â ±â´É
org.eclipse.hyades.logging.java ÆÐŰÁöÀÇ
java.util.logging.Formatter abstract Ŭ·¡½ºÀÇ È®ÀåÀ» ÅëÇØ
org.eclipse.hyades.logging.java.LoggingAgentHandler ¹× ±âŸ Çڵ鷯°¡
java.util.logging.LogRecord ·Î±× ¸Þ½ÃÁö¸¦ XML·Î Çü½ÄÈÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ org.eclipse.hyades.logging.java.XmlFormatter Æ÷¸ËÅÍ´Â
java.util.logging.LogRecord ¸Þ½ÃÁö¸¦ ÇöÀç
org.eclipse.hyades.internal.logging.core.XmlGenerator ±¸Çö(È£½ºÆ®,
ÇÁ·Î¼¼½º ¹× ¿¡ÀÌÀüÆ® ű״ Á¦¿Ü)°ú µ¿µîÇÑ XML·Î º¯È¯ÇÕ´Ï´Ù. »ý¼ºµÈ
XMLÀº Çü½ÄȵǾî ÀÖÁö ¾Ê°í ÃÖ´ë Áßø ·¹º§Àº 4·Î ¼³Á¤µË´Ï´Ù. Çü½ÄÈ ½Ã, ¿ÀºêÁ§Æ®´Â
org.eclipse.hyades.logging.core. IExternalizableToXml ÀÎÅÍÆäÀ̽ºÀÇ
±¸Çö ¿©ºÎ°¡ °Ë»çµË´Ï´Ù. ÀÌ °æ¿ì, ¼º´É»óÀÇ ÀÌÀ¯·Î XML Á÷·ÄÈ ´ë½Å
externalizeCanonicalXmlString() API°¡ ÀÚü °Ë»ç¸¦ ÅëÇØ È£ÃâµË´Ï´Ù.
´ÙÀ½ Ãâ·ÂÀº ·Î±× ¸Þ½ÃÁö(¹®ÀÚ¿ "Hello World"(SEVERE ·Î±ë ·¹º§))ÀÇ XML º¯È¯À» ¼³¸íÇÕ´Ï´Ù.
<LogRecord logging.util.id="java.util.logging.LogRecord_10468105484720000"
logging.util.agent_idref="org.eclipse.hyades.tests.java.JavaLoggingTest"
logging.util.MsgLoggerLevel="SEVERE" LoggerName="org.eclipse.hyades.tests.java.JavaLoggingTest"
ResourceBundleName="null" SequenceNumber="0" SourceClassName="org.eclipse.hyades.tests.java.JavaLoggingTest"
SourceMethodName="main" Message="Hello World" ThreadID="10"
Millis="1046810548171">
<ResourceBundle Instance_Name="ResourceBundle" Value="null"/>
<Level Instance_Name="Level" logging.util.id="java.util.logging.Level_10468105484720001"
ResourceBundleName="sun.util.logging.resources.logging" Name="SEVERE"
LocalizedName="SEVERE"><Class Instance_Name="Class" logging.util.id="java.lang.Class_10468105484720002"
Name="java.util.logging.Level" Type="class" Package="java.util.logging"
Modifers="public" Superclass="java.lang.Object" />
</Level>
<Array Instance_Name="Parameters" Value="null" />
<Throwable Instance_Name="Thrown" Value="null" />
<Class Instance_Name="Class" logging.util.id="java.lang.Class_10468105484820000"
Name="java.util.logging.LogRecord" Type="class" Package="java.util.logging"
Modifers="public" Superclass="java.lang.Object" />
</LogRecord>
- ±âÁ¸ Java ·Î±ë API·Î È®Àå Ŭ·¡½º¸¦ ºÎÆ®½ºÆ®·¦ÇÏ´Â ±â´É
org.eclipse.hyades.logging.java14 È®Àå Ŭ·¡½º¸¦ JDK 1.4.0 ÀÌ»óÀÇ
±âÁ¸ Java ·Î±ë API·Î ºÎÆ®½ºÆ®·¦ÇÏ·Á¸é VM ½Ãµ¿ ¶Ç´Â
java.util.logging.LogManager.readConfiguration() API È£Ãâ Àü¿¡ ´ÙÀ½
Ç׸ñÀ» JRE_HOME\lib\logging.properties ±¸¼º ÆÄÀÏ¿¡ Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù.
handlers= <your current handlers>, org.eclipse.hyades.logging.java.LoggingAgentHandler
org.eclipse.hyades.logging.java.LoggingAgentHandler.formatter = org.eclipse.hyades.logging.java.XmlFormatter
¶Ç´Â addHandler()¿Í setFormatter()
API¸¦ »ç¿ëÇÏ¿© ·Î°Å(¿¹: Çڵ鷯)¿Í Çڵ鷯(¿¹: Æ÷¸ËÅÍ)¿¡¼ ·±Å¸ÀÓ ½Ã ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀ¸·Î
JDK 1.4.0 ÀÌ»óÀÇ ±âÁ¸ Java ·Î±ë API¿Í ÇÔ²² org.eclipse.hyades.logging.java14
Ç÷¯±×ÀÎ È®Àå Ŭ·¡½º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
- ·Î±× ·¹Äڵ忡 Common Base Event¸¦ Æ÷ÇÔÇÏ´Â ±â´É
org.eclipse.hyades.logging.java ÆÐŰÁöÀÇ java.util.logging.LogRecord
Ŭ·¡½ºÀÇ È®ÀåÀ» ÅëÇØ java.util.logging.LogRecord¿¡
org.eclipse.hyades.logging.events.ICommonBaseEvent¸¦ Æ÷ÇÔ½Ã۱â À§ÇÑ
»ç¿ëÀÚ Á¤ÀÇ ·Î±× ·¹Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ org.eclipse.hyades.logging.java.CommonBaseEventLogRecord´Â
java.util.logging.LogRecord¸¦ È®ÀåÇϸç
org.eclipse.hyades.logging.events.ICommonBaseEvent¿¡ ´ëÇÑ ´ÜÀÏ ÂüÁ¶¸¦
Æ÷ÇÔÇÕ´Ï´Ù. java.util.logging.Logger¿¡ ±â·ÏÇϱâ Àü¿¡ »õ
org.eclipse.hyades.logging.java.CommonBaseEventLogRecord ¿ÀºêÁ§Æ®¸¦
ÀÛ¼ºÇØ¾ß ÇÕ´Ï´Ù.
- Çڵ鷯 Ŭ·¡½º¿¡¼ 󸮵Ǵ ·Î±× ·¹Äڵ带 ÇÊÅ͸µÇÏ´Â ±â´É
org.eclipse.hyades.logging.java.CommonBaseEventFilter(org.eclipse.hyades.logging.java.CommonBaseEventLogRecord¸¸ ·Î±×µÇµµ·Ï Çã¿ë)¿Í °°Àº java.util.logging.Filter ÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöÀ» ¼³Á¤Çϰí Çڵ鷯¿¡
java.util.logging.LevelÀ» ·Î±×ÇÏ¿© org.eclipse.hyades.logging.java.LoggingAgentHandler Ŭ·¡½º¿¡¼
󸮵Ǵ ·Î±× ·¹Äڵ带 ÇÊÅÍÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ °ªÀº setFilter()¿Í
setLevel() API¸¦ °¢°¢ »ç¿ëÇÏ¿© ·±Å¸ÀÓ ½Ã ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¶Ç´Â VM ½Ãµ¿À̳ª java.util.logging.LogManager.readConfiguration()
API È£Ãâ Àü¿¡ ´ÙÀ½ Ç׸ñÀ» JRE_HOME\lib\logging.properties¿¡ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
org.eclipse.hyades.logging.java.LoggingAgentHandler.level = <level>
org.eclipse.hyades.logging.java.LoggingAgentHandler.filter = org.eclipse.hyades.logging.java.CommonBaseEventFilter
- java.lang.Object ¹× java.lang.Throwable¿¡ ´ëÇÑ
»ç¿ëÀÚ Á¤ÀÇ ·Î°Å ÀÛ¼º ±â´É
org.eclipse.hyades.logging.commons ÆÐŰÁöÀÇ
org.apache.commons.logging.Log ÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöÀ» ÅëÇØ
java.lang.Object¿Í java.lang.ThrowableÀ» ·Î°Å¿Í À̸§ÀÌ °°Àº ·Î±ë ¿¡ÀÌÀüÆ®¿¡
·Î±×Çϱâ À§ÇÑ »ç¿ëÀÚ Á¤ÀÇ ·Î°Å¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ org.eclipse.hyades.logging.commons.Logger´Â ·Î°Å¿¡ ±â·ÏµÈ
java.lang.Object ¹×/¶Ç´Â java.lang.Throwable ·Î±× ¸Þ½ÃÁö°¡
·Î°ÅÀÇ ·Î±ë ·¹º§¿¡ µû¶ó ·Î±× °¡´ÉÇÑÁö ¿©ºÎ¸¦ È®ÀÎÇÕ´Ï´Ù. ·Î±× ¸Þ½ÃÁö°¡ ·Î±×µÇ´Â
°æ¿ì java.lang.Object ¹× java.lang.Throwable log
¸Þ½ÃÁö´Â org.eclipse.hyades.internal.logging.core.XmlGenerator¸¦
»ç¿ëÇÏ¿© Çü½ÄÈµÇ°í ·Î±ë ¿¡ÀÌÀüÆ®¿¡ ±â·ÏµË´Ï´Ù. Çü½ÄÈ ½Ã, ¿ÀºêÁ§Æ®´Â
org.eclipse.hyades.logging.core. IExternalizableToXml ÀÎÅÍÆäÀ̽ºÀÇ
±¸Çö ¿©ºÎ°¡ °Ë»çµË´Ï´Ù. ÀÌ °æ¿ì, ¼º´É»óÀÇ ÀÌÀ¯·Î XML Á÷·ÄÈ ´ë½Å
externalizeCanonicalXmlString() API°¡ ÀÚü °Ë»ç¸¦ ÅëÇØ È£ÃâµË´Ï´Ù.
org.eclipse.hyades.logging.commons.Logger Ŭ·¡½º¸¦
org.apache.commons.logging.LogFactory Ŭ·¡½º·Î ºÎÆ®½ºÆ®·¦ÇÏ·Á¸é
VM ½Ãµ¿ ½Ã ´ÙÀ½ ½Ã½ºÅÛ Æ¯¼ºÀ» ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.
-Dorg.apache.commons.logging.Log=org.eclipse.hyades.logging.commons.Logger
ÁÖÀÇ»çÇ×
- ¹®ÀÚ¿ ·Î±× ¸Þ½ÃÁö¸¦ ·Î±×ÇÏ·Á´Â °æ¿ì ¸Þ½ÃÁö¿¡ XML ´ÜÆíÀ» Æ÷ÇÔ½ÃÄѼ´Â ¾ÈµË´Ï´Ù.
·Î±× ¸Þ½ÃÁö¿¡ XML ´ÜÆíÀ» Æ÷ÇÔ½Ã۸é XML ÄÁÅÙÃ÷°¡ ÀϹÝÈµÇ°í ¹®ÀÚ¿ ű×ÀÇ
°ª ¼Ó¼ºÀÇ °ª¿¡ Ãß°¡µË´Ï´Ù. ¿¹¸¦ µé¾î,
<String >logging.util.agent_idref>=>"AGENT_CREATE.LoggingUtilSample
logger.1045075846.538" >logging.util.MsgLoggerLevel>=>"FINEST"
>Value>=>"<tag attribute="value"/>">/>>
- com.ibm.etools.logging.util µ¶¸³Çü ·Î±ë À¯Æ¿¸®Æ¼ »ç¿ëÇÏ´Â °æ¿ì
JAR ÆÄÀÏ(hlcore.jar, hparse.jar, hexl.jar ¹× hexr.jar)ÀÇ °æ·Î¸¦
½Ã½ºÅÛ ¹× VM Ŭ·¡½º °æ·Î¿¡ Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù.
°ü·Ã °³³ä
Common Base Event ¸ðµ¨
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.