ÊÖ»úÕ¾
ÍøÍ¨·ÖÕ¾
µçÐÅÖ÷Õ¾
ÃÜ¡¡Âë:
Óû§Ãû£º
µ±Ç°Î»Öà : Ö÷Ò³>³ÌÐòÉè¼Æ>Java¼¼Êõ>Áбí

Log4jÔ´´úÂëÔĶÁ¡ªLog4jÖÐÖ÷ÒªµÄÀà

À´Ô´£º»¥ÁªÍø ×÷Õߣºwest263.com ʱ¼ä£º2008-02-23
Î÷²¿ÊýÂë-È«¹úÐéÄâÖ÷»ú10Ç¿£¡40ÓàÏîÐéÄâÖ÷»ú¹ÜÀí¹¦ÄÜ,È«¹úÁìÏÈ!Ë«Ïß¶àÏßÐéÄâÖ÷»úÄϱ±·ÃÎʳ©Í¨ÎÞ×è!Ãâ·ÑÔùËÍÆóÒµÓʾÖ,.CNÓòÃû,×ÔÖú½¨Õ¾480ÔªÆð,Ãâ·ÑÊÔÓÃ7Ìì,ÂúÒâÔÙ¸¶¿î! P4Ö÷»ú×âÓÃ799Ôª/ÔÂ.Ô¸¶Ãâѹ½ð!
Ò»¡¢ Log4jµÄÖ÷Òª½Ó¿Ú 1¡¢ Appender£º·â×°ÁËAppenderµÄ²Ù×÷£¬ËùÓÐAppender¶¼Ó¦¸ÃʵÏָýӿڡ£Ö÷Òª·½·¨ÓУº 1£©¡¢addFiltre()¡¢getFilter()¡¢clearFilters()²Ù×÷FilterµÄ·½·¨¡£ 2£©¡¢close()£º¹Ø±ÕAppenderµÄ·½·¨¡£ 3£©¡¢doAppend()£ºµ±LoggerÏë´òÓ¡ÏûÏ¢µÄʱºò¾Í»áµ÷ÓÃAppenderµÄdoAppend()·½·¨¡£ 4£©¡¢getName()¡¢setName£ºÉèÖᢻñÈ¡AppenderµÄÃû×Ö¡£ 5£©¡¢getErorHandler()¡¢setErrorHandler()£ºÉèÖᢻñÈ¡AppenderµÄErrorHandler¡£ 6£©¡¢getLayout()¡¢setLayout()£ºÉèÖᢻñÈ¡Layout¡£ 7£©¡¢requiresLayout()£ºÅжÏAppenderÊÇ·ñÐèÒªLayout(ÅäÖÃʱʹÓÃ)¡£ 2¡¢ AppenderAttachable£º·â×°Á˶ÔAppender¾Û¼¯µÄһЩ²Ù×÷£¬Log4jÖÐʹÓÃAppenderAttachableImplÌṩÁËĬÈϵÄʵÏÖ£¬CategoryµÄʵÏÖÊǽ«ËùÓеIJÙ×÷ίÅɸøÁËAppenderAttachableImpl¡£Ö÷Òª·½·¨ÓУº 1£©¡¢addAppender()¡¢removeAppender¡¢removeAllAppenders¡¢getAppender()¡¢getAllAppendersµÈ¾Û¼¯µÄ²Ù×÷·½·¨¡£ 2£©¡¢isAttached()£ºÅжÏÒ»¸öAppenderÊÇ·ñÒѾ­¼ÓÔØµ½¾Û¼¯ÖÐÁË¡£ 3¡¢ OptionHandler£º·â×°Á˼¤»îÉèÖõÄÊôÐԵķ½·¨£¬¾ÍÒ»¸öactivateOptions()·½·¨¡£Í¨¹ý±¾·½·¨¿ÉÒÔ½«ÉèÖõÄÊôÐÔ¼¤»î£¬±ÈÈç¸ù¾ÝÉèÖõÄÎļþÃûÉú³ÉÎļþ¾ä±ú¡£ 4¡¢ LoggerRepository£º·â×°Á˶ÔLogger¾Û¼¯µÄһЩ²Ù×÷£¬Log4jÖÐʹÓÃHierarchyÌṩÁËʵÏÖ·½·¨¡£Ö÷Òª·½·¨ÓУº 1£©¡¢addHierarchyEventListener()£ºÊ¹Óù۲ìÕßģʽʵÏÖÁËʼþ»úÖÆ¡£ÔÚÕâÀïÌí¼Ó¹Û²ìÕß¡£ 2£©¡¢isDisabled()£ºÅжÏÖ¸¶¨µÈ¼¶µÄLogÄÜ·ñ´òÓ¡¡£ 3£©¡¢setThreshold()¡¢getThreshold()£ºÉèÖᢻñÈ¡ThresholdµÈ¼¶ÊôÐÔ¡£ 4£©¡¢emitNoAppenderWarning()£ºÅ׳öÒ»¸öûÓÐAppenderÒì³£¡£ 5£©¡¢getLogger()¡¢getRootLogger()¡¢exists()¡¢getCurrentLoggers()¡¢getCurrentCategories()£º»ñÈ¡Logger¡£ 6£©¡¢fireAddAppenderEvent()£º´¥·¢Add_Appenderʼþ£¬µ÷ÓÃËùÓй۲ìÕßµÄÏàÓ¦·½·¨£¬ÔÚHierarchyÖл¹ÊµÏÖÁËfireRemoveAppenderEvent()·½·¨¡£ 7£©¡¢resetConfiguration()£º½«¾Û¼¯ÖеÄËùÓÐLoggerÉèÖûáĬÈÏ״̬£¬RootLoggerµÄµÈ¼¶ÉèÖÃΪDEBUG£¬ThresholdÉèÖÃλALL¡£ 5¡¢ HierarchyEventListener£º·â×°Á˹۲ìÕߵIJÙ×÷¡£Ö÷Òª·½·¨ÓУº 1£©¡¢addAppenderEvent()¡¢removeAppenderEvent()£ºÔÚÁ½¸öʼþ´¥·¢µÄÈë¿Ú¡£ 6¡¢ RepositorySelector£ºÖ»ÌṩÁËÒ»¸ö»ñÈ¡LoggerRepositoryµÄ·½·¨getLoggerRepository()¡£ 7¡¢ LogRecodFilter£ºÌṩÁËÒ»¸ö¹ýÂ˵ķ½·¨passes()£¬Èç¹ûͨ¹ý¹ýÂË·µ»Øtrue£¬·ñÔò·µ»Øfalse¡£ 8¡¢ LoggerFactory£ºÌṩÁËÒ»¸ö´´½¨LoggerµÄ¹¤³§·½·¨¡£ÕâÊÇÒ»¸ö³éÏ󹤳§¡£Log4jÖгéÏ󹤳§µÄÓ¦ÓÿÉÒԺúÃѧϰһÏ£¬ÐèҪʹÓù¤³§·½·¨µÄµØ·½¶¼ÌṩÁËÒ»¸öĬÈϹ¤³§À࣬Èç¹ûÓû§²»Ìṩ×Ô¼ºµÄ¹¤³§·½·¨£¬¾ÍÊÇÓÃ×Ô¼ºµÄĬÈϹ¤³§¡£ 9¡¢ ObjectRenderer£º·â×°Á˶ÔÏó·­ÒëÆ÷µÄ½âÎö·½·¨doRender()¡£Log4jÖеĶÔÏó·­ÒëÆ÷ÌåÏÖÁËÒ»ÖÖÃæÏò¶ÔÏóÉè¼ÆÖзdz£ÖØÒªµÄÒ»µã£º“½âñ¬Ëü½«¶ÔÏóµÄ½âÎöÈÎÎñÓÐÀàÖеÄtoString()·½·¨“½âñöÀ´£¬³ÉΪ¶ÔÏó·­ÒëÆ÷£¬ÕâÑù¿ÉÒÔʹһ¸öÀàºÍÆä½âÊÍÀà¿ÉÒÔ¶ÀÁ¢ÑÝ»¯¡£Ç¿£¡£¡£¡£¡ 10¡¢RendererSupport£º·â×°ÁËÖ§³Ö¶ÔÏó·­ÒëÆ÷µÄÐèÒªµÄÁ½¸ö·½·¨¡£GetRendererMap()»ñȡһ¸öRendererµÄ¾Û¼¯¡£SetRenderer()Ìí¼ÓÒ»¸ö¶ÔÏó·­ÒëÆ÷¡£ 11¡¢Configurator£º·â×°ÁËLog4jµÄÅäÖö¯×÷¡£ÌṩÁËÁ½¸ö×Ö·û´®³£Á¿£¬ºÍʵ¼Ê×÷ÅäÖÃÓõÄdoConfigure()·½·¨¡£µ«ÊDZ¾ÈËÈÏΪ¸Ã½Ó¿ÚµÄÉè¼ÆÃ»ÓÐÕæÕý·¢»Ó×÷Óᣠ12¡¢ErrorHandler£º¼Ì³ÐÖÁOptionHandler½Ó¿Ú¡£·â×°Á˶ÔAppenderµÄErrorµÄ´¦Àí¡£ 13¡¢ErrorCode£º·â×°ÁËһЩ³£Êý£¬Ê¹ÊµÏÖÕâ¸ö½Ó¿ÚµÄËùÓÐÀà¶¼×Ô¶¯È¡µÃÕâЩ³£Á¿¡£ËäÈ»Sun²»ÔÞ³ÉÕâÖÖ×ö·¨£¬²»¹ýÎÒ¾õµÃÕâÑùÕæµÄºÜ·½±ã¡£ ¶þ¡¢ Log4jµÄÖ÷Òª³éÏóÀà 1¡¢ Layout£ºÊµÏÖÁËOptionHandler½Ó¿Ú¡£ÊÇËùÓÐLayoutµÄ»ù´¡Àà¡£ËüÌṩÁËһЩLayOut¹²Óеij£Á¿ºÍ·½·¨¡£Ö÷ÒªÓÐ 1£©¡¢³éÏó·½·¨format()£ºLayout¾ßÌåµÄ½âÎö·½·¨¡£ 2£©¡¢getContentType()£º·µ»ØÄÚÈݵÄÀàÐÍ£¬Ä¬ÈÏ·µ»Ø“text/plain”¡£ 3£©¡¢getHeader()¡¢getFooter()£º²»ÖªµÀ¾ßÌå×÷Óã¬Ä¬ÈÏ·µ»Ønull¡£ 4£©¡¢ignoresThrowable()£ºÈç¹û±¾Layout²»Ö§³ÖThrowable¾Í·µ»Øfalse¡£ 2¡¢ AppenderSkeleton£ºÊµÏÖÁËAppender,OptionHadler½Ó¿Ú¡£ÊÇËùÓÐAppenderµÄ»ù´¡Àà¡£ËüÌṩÁËһЩAppender¹²ÓеıäÁ¿ºÍ·½·¨µÄĬÈÏʵÏÖ£¬Ö÷ÒªÓУº 1£©¡¢±äÁ¿£ºLayout,name,Threshold,ErrorHandler(new OnlyOnceErrorHandler()), headFilter,tailFilter,closed(false)ÕâÊÇÿ¸öAppender¶¼Ó¦¸ÃÓеıäÁ¿¡£ 2£©¡¢setLayout(),getLayout():ÊôÐÔlayoutµÄ²Ù×÷·½·¨¡£ 3£©¡¢setName(),getName():ÊôÐÔnameµÄ²Ù×÷·½·¨¡£ 4£©¡¢setErrorHandler(),getErrorHandler()£ºÊôÐÔErrorHandlerµÄ²Ù×÷·½·¨¡£ 5£©¡¢setThreshold(),getThreshold(),isAsSevereAsThreshold()£ºÊôÐÔThresholdµÄ²Ù×÷·½·¨£¬ºÍAppenderµÄThresholdµÈ¼¶µÄ±È½Ï·½·¨¡£ 6£©¡¢addFilter(),clearFilters()£ºÌṩÁËÒ»¸ö²Ù×÷FilterÁ´±íµÄ²Ù×÷·½·¨¡£Í¨¹ýaddFilter()·½·¨£¬½«Í·½áµã£¨headFilter£©Î²½áµã£¨tailFilter£©×é³ÉÒ»¸öµ¥Ïò²»Ñ­»·Á´±í¡£ 7£©¡¢activateOptions()£º¶ÔOptionHandler½Ó¿ÚµÄĬÈÏʵÏÖ£¬Ê²Ã´¶¼²»×ö¡£ 8£©¡¢finalize()£ºµ±±»À¬»øÊÕ¼¯Ê±£¬Èç¹ûAppenderûÓйرվ͹رÕËü¡£ 9£©¡¢doAppend(),append()£ºdoAppend()·½·¨ÌṩÁËÔÚlog´òÓ¡¹ý³ÌÖÐloglogµÄ´òÓ¡£¬ThresholdµÈ¼¶µÄ¿ØÖƺ͹ýÂËÆ÷µÄµ÷Ó㬲¢ÁôÁËÒ»¸öÐé·½·¨£¨append()£©¸øÒÔºóµÄAppenderÀ´ÊµÏÖ¡£ 3¡¢ Filter£ºÊµÏÖÁËOptionHandler¡£ËùÓÐFilterµÄ»ùÀ࣬ËûÌṩÁËFilter¹²ÓеıäÁ¿ºÍ·½·¨£¬Ö÷ÒªÓУº 1£©¡¢±äÁ¿£ºÒ»¸ö¹¹³ÉÁ´±í½á¹¹µÄnext±äÁ¿£¬·µ»ØÖµ³£Á¿DENY(-1),NEUTRAL(0),ACCEPT(1)¡£ 2£©¡¢Ðé·½·¨decide()£ºÌṩ¹ýÂ˵Ľӿڡ£ 3£©¡¢activateOptions()£ºOptionHandler½Ó¿ÚµÄĬÈÏʵÏÖ¡£ 4¡¢ PatternConverter£ºÊÇÌṩ¸ñʽ»¯·½·¨µÄÒ»¸ö»ù´¡³éÏóÀ࣬ËûÌṩÁËËùÓиñʽ»¯·½·¨µÄ¹²Í¬½Ó¿Ú£¬Ö÷Òª·½·¨ºÍ±äÁ¿ÓУº 1£©¡¢±äÁ¿next:¹¹³ÉÁ´±íÓá£min(-1),max(0x7FFFFFFF),leftAlign(false)¡£ 2£©¡¢ 3£©¡¢ 5¡¢ Èý¡¢ Ö÷ÒªLog4jʵÏÖ 1¡¢AppenderAttachableImplÀàÌṩÁËAppenderAttachable½Ó¿ÚµÄĬÈÏʵÏÖ¡£ËûʹÓÃVectorʵÏÖÁËAppender¾Û¼¯µÄ¹ÜÀí·½·¨¡£ ËÄ¡¢ Îå¡¢ À©Õ¹

ÉÏһƪ£º JBoss jBPM2.0¹¤×÷Á÷ÒýÇæÍêÈ«½âÃÜ

ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!